studyup 0.0.0-stage → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (898) hide show
  1. package/hexgl-package/HexGL-master/.htaccess +4 -0
  2. package/hexgl-package/HexGL-master/LICENSE +21 -0
  3. package/hexgl-package/HexGL-master/README.md +26 -0
  4. package/hexgl-package/HexGL-master/audio/LICENSE +28 -0
  5. package/hexgl-package/HexGL-master/audio/bg.ogg +0 -0
  6. package/hexgl-package/HexGL-master/audio/boost.ogg +0 -0
  7. package/hexgl-package/HexGL-master/audio/crash.ogg +0 -0
  8. package/hexgl-package/HexGL-master/audio/destroyed.ogg +0 -0
  9. package/hexgl-package/HexGL-master/audio/wind.ogg +0 -0
  10. package/hexgl-package/HexGL-master/bkcore/Audio.js +142 -0
  11. package/hexgl-package/HexGL-master/bkcore/hexgl/CameraChase.js +73 -0
  12. package/hexgl-package/HexGL-master/bkcore/hexgl/Gameplay.js +231 -0
  13. package/hexgl-package/HexGL-master/bkcore/hexgl/HUD.js +270 -0
  14. package/hexgl-package/HexGL-master/bkcore/hexgl/HexGL.js +446 -0
  15. package/hexgl-package/HexGL-master/bkcore/hexgl/Ladder.js +52 -0
  16. package/hexgl-package/HexGL-master/bkcore/hexgl/RaceData.js +99 -0
  17. package/hexgl-package/HexGL-master/bkcore/hexgl/ShipControls.js +806 -0
  18. package/hexgl-package/HexGL-master/bkcore/hexgl/ShipEffects.js +186 -0
  19. package/hexgl-package/HexGL-master/bkcore/hexgl/tracks/Cityscape.js +521 -0
  20. package/hexgl-package/HexGL-master/bkcore/threejs/Loader.js +260 -0
  21. package/hexgl-package/HexGL-master/bkcore/threejs/Particles.js +191 -0
  22. package/hexgl-package/HexGL-master/bkcore/threejs/Preloader.js +151 -0
  23. package/hexgl-package/HexGL-master/bkcore/threejs/RenderManager.js +132 -0
  24. package/hexgl-package/HexGL-master/bkcore/threejs/Shaders.js +950 -0
  25. package/hexgl-package/HexGL-master/bkcore.coffee/ImageData.coffee +141 -0
  26. package/hexgl-package/HexGL-master/bkcore.coffee/ImageData.js +156 -0
  27. package/hexgl-package/HexGL-master/bkcore.coffee/Timer.coffee +118 -0
  28. package/hexgl-package/HexGL-master/bkcore.coffee/Timer.js +159 -0
  29. package/hexgl-package/HexGL-master/bkcore.coffee/Utils.coffee +193 -0
  30. package/hexgl-package/HexGL-master/bkcore.coffee/Utils.js +250 -0
  31. package/hexgl-package/HexGL-master/bkcore.coffee/controllers/GamepadController.coffee +45 -0
  32. package/hexgl-package/HexGL-master/bkcore.coffee/controllers/GamepadController.js +73 -0
  33. package/hexgl-package/HexGL-master/bkcore.coffee/controllers/OrientationController.coffee +72 -0
  34. package/hexgl-package/HexGL-master/bkcore.coffee/controllers/OrientationController.js +130 -0
  35. package/hexgl-package/HexGL-master/bkcore.coffee/controllers/TouchController.coffee +109 -0
  36. package/hexgl-package/HexGL-master/bkcore.coffee/controllers/TouchController.js +188 -0
  37. package/hexgl-package/HexGL-master/bkcore.coffee/tests.html +10 -0
  38. package/hexgl-package/HexGL-master/bkcore.coffee/threejs/Particles.coffee +199 -0
  39. package/hexgl-package/HexGL-master/bkcore.coffee/threejs/Particles.js +210 -0
  40. package/hexgl-package/HexGL-master/cache.appcache +74 -0
  41. package/hexgl-package/HexGL-master/css/BebasNeue-webfont.eot +0 -0
  42. package/hexgl-package/HexGL-master/css/BebasNeue-webfont.svg +245 -0
  43. package/hexgl-package/HexGL-master/css/BebasNeue-webfont.ttf +0 -0
  44. package/hexgl-package/HexGL-master/css/BebasNeue-webfont.woff +0 -0
  45. package/hexgl-package/HexGL-master/css/bg.jpg +0 -0
  46. package/hexgl-package/HexGL-master/css/fonts.css +16 -0
  47. package/hexgl-package/HexGL-master/css/help-0.png +0 -0
  48. package/hexgl-package/HexGL-master/css/help-1.png +0 -0
  49. package/hexgl-package/HexGL-master/css/help-2.png +0 -0
  50. package/hexgl-package/HexGL-master/css/help-3.png +0 -0
  51. package/hexgl-package/HexGL-master/css/mobile-controls-1.jpg +0 -0
  52. package/hexgl-package/HexGL-master/css/mobile-controls-2.jpg +0 -0
  53. package/hexgl-package/HexGL-master/css/mobile-over.jpg +0 -0
  54. package/hexgl-package/HexGL-master/css/mobile.jpg +0 -0
  55. package/hexgl-package/HexGL-master/css/multi.css +264 -0
  56. package/hexgl-package/HexGL-master/css/title.png +0 -0
  57. package/hexgl-package/HexGL-master/css/touchcontroller.css +8 -0
  58. package/hexgl-package/HexGL-master/favicon.png +0 -0
  59. package/hexgl-package/HexGL-master/geometries/bonus/base/base.js +45 -0
  60. package/hexgl-package/HexGL-master/geometries/booster/booster.js +45 -0
  61. package/hexgl-package/HexGL-master/geometries/ships/feisar/feisar.js +45 -0
  62. package/hexgl-package/HexGL-master/geometries/tracks/cityscape/bonus/speed.js +45 -0
  63. package/hexgl-package/HexGL-master/geometries/tracks/cityscape/scrapers1.js +45 -0
  64. package/hexgl-package/HexGL-master/geometries/tracks/cityscape/scrapers2.js +45 -0
  65. package/hexgl-package/HexGL-master/geometries/tracks/cityscape/start.js +45 -0
  66. package/hexgl-package/HexGL-master/geometries/tracks/cityscape/startbanner.js +45 -0
  67. package/hexgl-package/HexGL-master/geometries/tracks/cityscape/track.js +45 -0
  68. package/hexgl-package/HexGL-master/geometries/tracks/edge/track.js +38 -0
  69. package/hexgl-package/HexGL-master/icon_128.png +0 -0
  70. package/hexgl-package/HexGL-master/icon_256.png +0 -0
  71. package/hexgl-package/HexGL-master/icon_32.png +0 -0
  72. package/hexgl-package/HexGL-master/icon_64.png +0 -0
  73. package/hexgl-package/HexGL-master/index.html +129 -0
  74. package/hexgl-package/HexGL-master/launch.coffee +85 -0
  75. package/hexgl-package/HexGL-master/launch.js +116 -0
  76. package/hexgl-package/HexGL-master/libs/DAT.GUI.min.js +53 -0
  77. package/hexgl-package/HexGL-master/libs/Detector.js +59 -0
  78. package/hexgl-package/HexGL-master/libs/Editor.html +717 -0
  79. package/hexgl-package/HexGL-master/libs/Editor_files/App.js +212 -0
  80. package/hexgl-package/HexGL-master/libs/Editor_files/CanvasRenderer.js +389 -0
  81. package/hexgl-package/HexGL-master/libs/Editor_files/Diagram.js +148 -0
  82. package/hexgl-package/HexGL-master/libs/Editor_files/Iterator.js +92 -0
  83. package/hexgl-package/HexGL-master/libs/Editor_files/Links.js +56 -0
  84. package/hexgl-package/HexGL-master/libs/Editor_files/ModuleList.js +47 -0
  85. package/hexgl-package/HexGL-master/libs/Editor_files/Node.js +122 -0
  86. package/hexgl-package/HexGL-master/libs/Editor_files/Parser.js +140 -0
  87. package/hexgl-package/HexGL-master/libs/Editor_files/Project.js +162 -0
  88. package/hexgl-package/HexGL-master/libs/Editor_files/Timer.js +166 -0
  89. package/hexgl-package/HexGL-master/libs/Editor_files/ace.js +11 -0
  90. package/hexgl-package/HexGL-master/libs/Editor_files/class.js +989 -0
  91. package/hexgl-package/HexGL-master/libs/Editor_files/editor.css +16 -0
  92. package/hexgl-package/HexGL-master/libs/Editor_files/font.css +24 -0
  93. package/hexgl-package/HexGL-master/libs/Editor_files/gamecore.js +133 -0
  94. package/hexgl-package/HexGL-master/libs/Editor_files/hashlist.js +41 -0
  95. package/hexgl-package/HexGL-master/libs/Editor_files/jhashtable.js +468 -0
  96. package/hexgl-package/HexGL-master/libs/Editor_files/jquery-1.8.js +2 -0
  97. package/hexgl-package/HexGL-master/libs/Editor_files/kinetic.js +30 -0
  98. package/hexgl-package/HexGL-master/libs/Editor_files/main.css +204 -0
  99. package/hexgl-package/HexGL-master/libs/Editor_files/mode-json.js +1 -0
  100. package/hexgl-package/HexGL-master/libs/Editor_files/pooled.js +542 -0
  101. package/hexgl-package/HexGL-master/libs/Editor_files/theme-monokai.js +1 -0
  102. package/hexgl-package/HexGL-master/libs/ShaderExtras.js +1788 -0
  103. package/hexgl-package/HexGL-master/libs/Stats.js +6 -0
  104. package/hexgl-package/HexGL-master/libs/Three.dev.js +758 -0
  105. package/hexgl-package/HexGL-master/libs/Three.r53.js +767 -0
  106. package/hexgl-package/HexGL-master/libs/leap-0.4.1.min.js +3 -0
  107. package/hexgl-package/HexGL-master/libs/postprocessing/BloomPass.js +100 -0
  108. package/hexgl-package/HexGL-master/libs/postprocessing/DotScreenPass.js +52 -0
  109. package/hexgl-package/HexGL-master/libs/postprocessing/EffectComposer.js +143 -0
  110. package/hexgl-package/HexGL-master/libs/postprocessing/FilmPass.js +51 -0
  111. package/hexgl-package/HexGL-master/libs/postprocessing/MaskPass.js +86 -0
  112. package/hexgl-package/HexGL-master/libs/postprocessing/RenderPass.js +63 -0
  113. package/hexgl-package/HexGL-master/libs/postprocessing/SavePass.js +52 -0
  114. package/hexgl-package/HexGL-master/libs/postprocessing/ShaderPass.js +51 -0
  115. package/hexgl-package/HexGL-master/libs/postprocessing/TexturePass.js +37 -0
  116. package/hexgl-package/HexGL-master/manifest.webapp +18 -0
  117. package/hexgl-package/HexGL-master/package.webapp +10 -0
  118. package/hexgl-package/HexGL-master/package.zip +0 -0
  119. package/hexgl-package/HexGL-master/replays/cityscape-casual/bkcore.replay.json +1 -0
  120. package/hexgl-package/HexGL-master/textures/bonus/base/diffuse.jpg +0 -0
  121. package/hexgl-package/HexGL-master/textures/bonus/base/normal.jpg +0 -0
  122. package/hexgl-package/HexGL-master/textures/bonus/base/specular.jpg +0 -0
  123. package/hexgl-package/HexGL-master/textures/checker.png +0 -0
  124. package/hexgl-package/HexGL-master/textures/hud/hex.jpg +0 -0
  125. package/hexgl-package/HexGL-master/textures/hud/hud-bg.png +0 -0
  126. package/hexgl-package/HexGL-master/textures/hud/hud-fg-shield.png +0 -0
  127. package/hexgl-package/HexGL-master/textures/hud/hud-fg-speed.png +0 -0
  128. package/hexgl-package/HexGL-master/textures/particles/cloud - Copie.png +0 -0
  129. package/hexgl-package/HexGL-master/textures/particles/cloud.png +0 -0
  130. package/hexgl-package/HexGL-master/textures/particles/damage.png +0 -0
  131. package/hexgl-package/HexGL-master/textures/particles/spark - Copie.png +0 -0
  132. package/hexgl-package/HexGL-master/textures/particles/spark.png +0 -0
  133. package/hexgl-package/HexGL-master/textures/ships/feisar/booster/booster.png +0 -0
  134. package/hexgl-package/HexGL-master/textures/ships/feisar/booster/boostersprite.jpg +0 -0
  135. package/hexgl-package/HexGL-master/textures/ships/feisar/diffuse.jpg +0 -0
  136. package/hexgl-package/HexGL-master/textures/ships/feisar/normal.jpg +0 -0
  137. package/hexgl-package/HexGL-master/textures/ships/feisar/specular.jpg +0 -0
  138. package/hexgl-package/HexGL-master/textures/skybox/dawnclouds/nx.jpg +0 -0
  139. package/hexgl-package/HexGL-master/textures/skybox/dawnclouds/ny.jpg +0 -0
  140. package/hexgl-package/HexGL-master/textures/skybox/dawnclouds/nz.jpg +0 -0
  141. package/hexgl-package/HexGL-master/textures/skybox/dawnclouds/px.jpg +0 -0
  142. package/hexgl-package/HexGL-master/textures/skybox/dawnclouds/py.jpg +0 -0
  143. package/hexgl-package/HexGL-master/textures/skybox/dawnclouds/pz.jpg +0 -0
  144. package/hexgl-package/HexGL-master/textures/tracks/cityscape/collision.png +0 -0
  145. package/hexgl-package/HexGL-master/textures/tracks/cityscape/diffuse.jpg +0 -0
  146. package/hexgl-package/HexGL-master/textures/tracks/cityscape/height.png +0 -0
  147. package/hexgl-package/HexGL-master/textures/tracks/cityscape/normal.jpg +0 -0
  148. package/hexgl-package/HexGL-master/textures/tracks/cityscape/scrapers1/diffuse.jpg +0 -0
  149. package/hexgl-package/HexGL-master/textures/tracks/cityscape/scrapers1/normal.jpg +0 -0
  150. package/hexgl-package/HexGL-master/textures/tracks/cityscape/scrapers1/specular.jpg +0 -0
  151. package/hexgl-package/HexGL-master/textures/tracks/cityscape/scrapers2/diffuse.jpg +0 -0
  152. package/hexgl-package/HexGL-master/textures/tracks/cityscape/scrapers2/normal.jpg +0 -0
  153. package/hexgl-package/HexGL-master/textures/tracks/cityscape/scrapers2/specular.jpg +0 -0
  154. package/hexgl-package/HexGL-master/textures/tracks/cityscape/specular.jpg +0 -0
  155. package/hexgl-package/HexGL-master/textures/tracks/cityscape/start/diffuse.jpg +0 -0
  156. package/hexgl-package/HexGL-master/textures/tracks/cityscape/start/normal.jpg +0 -0
  157. package/hexgl-package/HexGL-master/textures/tracks/cityscape/start/specular.jpg +0 -0
  158. package/hexgl-package/HexGL-master/textures/tracks/cityscape/start/start.jpg +0 -0
  159. package/hexgl-package/HexGL-master/textures.full/bonus/base/diffuse.jpg +0 -0
  160. package/hexgl-package/HexGL-master/textures.full/bonus/base/normal.jpg +0 -0
  161. package/hexgl-package/HexGL-master/textures.full/bonus/base/specular.jpg +0 -0
  162. package/hexgl-package/HexGL-master/textures.full/checker.png +0 -0
  163. package/hexgl-package/HexGL-master/textures.full/hud/hex.jpg +0 -0
  164. package/hexgl-package/HexGL-master/textures.full/hud/hud-bg.png +0 -0
  165. package/hexgl-package/HexGL-master/textures.full/hud/hud-fg-shield.png +0 -0
  166. package/hexgl-package/HexGL-master/textures.full/hud/hud-fg-speed.png +0 -0
  167. package/hexgl-package/HexGL-master/textures.full/particles/cloud - Copie.png +0 -0
  168. package/hexgl-package/HexGL-master/textures.full/particles/cloud.png +0 -0
  169. package/hexgl-package/HexGL-master/textures.full/particles/damage.png +0 -0
  170. package/hexgl-package/HexGL-master/textures.full/particles/spark - Copie.png +0 -0
  171. package/hexgl-package/HexGL-master/textures.full/particles/spark.png +0 -0
  172. package/hexgl-package/HexGL-master/textures.full/ships/feisar/booster/booster.png +0 -0
  173. package/hexgl-package/HexGL-master/textures.full/ships/feisar/booster/boostersprite.jpg +0 -0
  174. package/hexgl-package/HexGL-master/textures.full/ships/feisar/diffuse.jpg +0 -0
  175. package/hexgl-package/HexGL-master/textures.full/ships/feisar/normal.jpg +0 -0
  176. package/hexgl-package/HexGL-master/textures.full/ships/feisar/specular.jpg +0 -0
  177. package/hexgl-package/HexGL-master/textures.full/skybox/dawnclouds/nx.jpg +0 -0
  178. package/hexgl-package/HexGL-master/textures.full/skybox/dawnclouds/ny.jpg +0 -0
  179. package/hexgl-package/HexGL-master/textures.full/skybox/dawnclouds/nz.jpg +0 -0
  180. package/hexgl-package/HexGL-master/textures.full/skybox/dawnclouds/px.jpg +0 -0
  181. package/hexgl-package/HexGL-master/textures.full/skybox/dawnclouds/py.jpg +0 -0
  182. package/hexgl-package/HexGL-master/textures.full/skybox/dawnclouds/pz.jpg +0 -0
  183. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/collision.png +0 -0
  184. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/diffuse.jpg +0 -0
  185. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/height.png +0 -0
  186. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/normal.jpg +0 -0
  187. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/scrapers1/diffuse.jpg +0 -0
  188. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/scrapers1/normal.jpg +0 -0
  189. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/scrapers1/specular.jpg +0 -0
  190. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/scrapers2/diffuse.jpg +0 -0
  191. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/scrapers2/normal.jpg +0 -0
  192. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/scrapers2/specular.jpg +0 -0
  193. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/specular.jpg +0 -0
  194. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/start/diffuse.jpg +0 -0
  195. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/start/normal.jpg +0 -0
  196. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/start/specular.jpg +0 -0
  197. package/hexgl-package/HexGL-master/textures.full/tracks/cityscape/start/start.jpg +0 -0
  198. package/index.html +518 -0
  199. package/package.json +13 -4
  200. package/sandboxels-package/sandboxels-1.13.2/.github/CONTRIBUTING.md +10 -0
  201. package/sandboxels-package/sandboxels-1.13.2/.github/FUNDING.yml +13 -0
  202. package/sandboxels-package/sandboxels-1.13.2/.github/SUPPORT.md +9 -0
  203. package/sandboxels-package/sandboxels-1.13.2/404.html +74 -0
  204. package/sandboxels-package/sandboxels-1.13.2/CITATION.cff +42 -0
  205. package/sandboxels-package/sandboxels-1.13.2/CNAME +1 -0
  206. package/sandboxels-package/sandboxels-1.13.2/README.md +47 -0
  207. package/sandboxels-package/sandboxels-1.13.2/SECURITY.md +9 -0
  208. package/sandboxels-package/sandboxels-1.13.2/ad.html +73 -0
  209. package/sandboxels-package/sandboxels-1.13.2/aff.json +3 -0
  210. package/sandboxels-package/sandboxels-1.13.2/archive/first-version.html +234 -0
  211. package/sandboxels-package/sandboxels-1.13.2/archive/second-version.html +1293 -0
  212. package/sandboxels-package/sandboxels-1.13.2/archive/third-version.html +2242 -0
  213. package/sandboxels-package/sandboxels-1.13.2/archive.txt +231 -0
  214. package/sandboxels-package/sandboxels-1.13.2/backgrounds/License.txt +1 -0
  215. package/sandboxels-package/sandboxels-1.13.2/backgrounds/sky.png +0 -0
  216. package/sandboxels-package/sandboxels-1.13.2/backgrounds/sky_dark.png +0 -0
  217. package/sandboxels-package/sandboxels-1.13.2/backgrounds/sky_grass.png +0 -0
  218. package/sandboxels-package/sandboxels-1.13.2/backgrounds/sky_pink.png +0 -0
  219. package/sandboxels-package/sandboxels-1.13.2/backgrounds/sky_purple.png +0 -0
  220. package/sandboxels-package/sandboxels-1.13.2/backgrounds/sky_warm.png +0 -0
  221. package/sandboxels-package/sandboxels-1.13.2/changelog.html +3362 -0
  222. package/sandboxels-package/sandboxels-1.13.2/changelog.txt +3096 -0
  223. package/sandboxels-package/sandboxels-1.13.2/controls.html +191 -0
  224. package/sandboxels-package/sandboxels-1.13.2/controls.txt +65 -0
  225. package/sandboxels-package/sandboxels-1.13.2/education-use.html +109 -0
  226. package/sandboxels-package/sandboxels-1.13.2/feed.rss +30 -0
  227. package/sandboxels-package/sandboxels-1.13.2/feedback.html +89 -0
  228. package/sandboxels-package/sandboxels-1.13.2/fonts/PressStart2P-License-OFL.txt +93 -0
  229. package/sandboxels-package/sandboxels-1.13.2/fonts/PressStart2P-Regular.ttf +0 -0
  230. package/sandboxels-package/sandboxels-1.13.2/fonts/VT323-License-OFL.txt +93 -0
  231. package/sandboxels-package/sandboxels-1.13.2/fonts/VT323-Regular.ttf +0 -0
  232. package/sandboxels-package/sandboxels-1.13.2/fonts/Vietnamese_Pixel.ttf +0 -0
  233. package/sandboxels-package/sandboxels-1.13.2/fonts/fusion-pixel-12px-monospaced-ja.ttf +0 -0
  234. package/sandboxels-package/sandboxels-1.13.2/fonts/fusion-pixel-12px-monospaced-ko.ttf +0 -0
  235. package/sandboxels-package/sandboxels-1.13.2/fonts/fusion-pixel-12px-monospaced-latin.ttf +0 -0
  236. package/sandboxels-package/sandboxels-1.13.2/fonts/fusion-pixel-12px-monospaced-zh_hans.ttf +0 -0
  237. package/sandboxels-package/sandboxels-1.13.2/fonts/fusion-pixel-12px-monospaced-zh_hant.ttf +0 -0
  238. package/sandboxels-package/sandboxels-1.13.2/help.html +122 -0
  239. package/sandboxels-package/sandboxels-1.13.2/icons/80x15.png +0 -0
  240. package/sandboxels-package/sandboxels-1.13.2/icons/88x31.png +0 -0
  241. package/sandboxels-package/sandboxels-1.13.2/icons/android-chrome-192x192.png +0 -0
  242. package/sandboxels-package/sandboxels-1.13.2/icons/android-chrome-384x384.png +0 -0
  243. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-114x114-precomposed.png +0 -0
  244. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-114x114.png +0 -0
  245. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-120x120-precomposed.png +0 -0
  246. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-120x120.png +0 -0
  247. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-144x144-precomposed.png +0 -0
  248. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-144x144.png +0 -0
  249. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-152x152-precomposed.png +0 -0
  250. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-152x152.png +0 -0
  251. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-180x180-precomposed.png +0 -0
  252. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-180x180.png +0 -0
  253. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-57x57-precomposed.png +0 -0
  254. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-57x57.png +0 -0
  255. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-60x60-precomposed.png +0 -0
  256. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-60x60.png +0 -0
  257. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-72x72-precomposed.png +0 -0
  258. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-72x72.png +0 -0
  259. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-76x76-precomposed.png +0 -0
  260. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-76x76.png +0 -0
  261. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon-precomposed.png +0 -0
  262. package/sandboxels-package/sandboxels-1.13.2/icons/apple-touch-icon.png +0 -0
  263. package/sandboxels-package/sandboxels-1.13.2/icons/browserconfig.xml +9 -0
  264. package/sandboxels-package/sandboxels-1.13.2/icons/card.png +0 -0
  265. package/sandboxels-package/sandboxels-1.13.2/icons/cover-3840x1240px-text.png +0 -0
  266. package/sandboxels-package/sandboxels-1.13.2/icons/cover-3840x1240px.png +0 -0
  267. package/sandboxels-package/sandboxels-1.13.2/icons/cover-3840x1240px.webp +0 -0
  268. package/sandboxels-package/sandboxels-1.13.2/icons/cover.png +0 -0
  269. package/sandboxels-package/sandboxels-1.13.2/icons/favicon-16x16.png +0 -0
  270. package/sandboxels-package/sandboxels-1.13.2/icons/favicon-32x32.png +0 -0
  271. package/sandboxels-package/sandboxels-1.13.2/icons/favicon.ico +0 -0
  272. package/sandboxels-package/sandboxels-1.13.2/icons/icon-hd.png +0 -0
  273. package/sandboxels-package/sandboxels-1.13.2/icons/icon.png +0 -0
  274. package/sandboxels-package/sandboxels-1.13.2/icons/index.html +196 -0
  275. package/sandboxels-package/sandboxels-1.13.2/icons/modulator.png +0 -0
  276. package/sandboxels-package/sandboxels-1.13.2/icons/mstile-150x150.png +0 -0
  277. package/sandboxels-package/sandboxels-1.13.2/icons/original-logo-recreated-pixel.png +0 -0
  278. package/sandboxels-package/sandboxels-1.13.2/icons/promo1.png +0 -0
  279. package/sandboxels-package/sandboxels-1.13.2/icons/promo2.png +0 -0
  280. package/sandboxels-package/sandboxels-1.13.2/icons/promo3.png +0 -0
  281. package/sandboxels-package/sandboxels-1.13.2/icons/promo4.png +0 -0
  282. package/sandboxels-package/sandboxels-1.13.2/icons/safari-pinned-tab.svg +107 -0
  283. package/sandboxels-package/sandboxels-1.13.2/icons/site.webmanifest +20 -0
  284. package/sandboxels-package/sandboxels-1.13.2/icons/tall.webp +0 -0
  285. package/sandboxels-package/sandboxels-1.13.2/icons/wallpaper-old.png +0 -0
  286. package/sandboxels-package/sandboxels-1.13.2/icons/wallpaper.png +0 -0
  287. package/sandboxels-package/sandboxels-1.13.2/icons/wallpaper.webp +0 -0
  288. package/sandboxels-package/sandboxels-1.13.2/icons/wordmark-black.png +0 -0
  289. package/sandboxels-package/sandboxels-1.13.2/icons/wordmark-white.png +0 -0
  290. package/sandboxels-package/sandboxels-1.13.2/index.html +21523 -0
  291. package/sandboxels-package/sandboxels-1.13.2/lang/README.txt +5 -0
  292. package/sandboxels-package/sandboxels-1.13.2/lang/af.json +1 -0
  293. package/sandboxels-package/sandboxels-1.13.2/lang/ar.json +1 -0
  294. package/sandboxels-package/sandboxels-1.13.2/lang/ar_sy.json +1 -0
  295. package/sandboxels-package/sandboxels-1.13.2/lang/bn.json +1 -0
  296. package/sandboxels-package/sandboxels-1.13.2/lang/ca.json +1 -0
  297. package/sandboxels-package/sandboxels-1.13.2/lang/cs.json +1 -0
  298. package/sandboxels-package/sandboxels-1.13.2/lang/da.json +1 -0
  299. package/sandboxels-package/sandboxels-1.13.2/lang/de.json +1 -0
  300. package/sandboxels-package/sandboxels-1.13.2/lang/el.json +1 -0
  301. package/sandboxels-package/sandboxels-1.13.2/lang/en.json +1 -0
  302. package/sandboxels-package/sandboxels-1.13.2/lang/en_au.json +1 -0
  303. package/sandboxels-package/sandboxels-1.13.2/lang/en_ca.json +1 -0
  304. package/sandboxels-package/sandboxels-1.13.2/lang/en_gb.json +1 -0
  305. package/sandboxels-package/sandboxels-1.13.2/lang/es.json +1 -0
  306. package/sandboxels-package/sandboxels-1.13.2/lang/et.json +1 -0
  307. package/sandboxels-package/sandboxels-1.13.2/lang/fi.json +1 -0
  308. package/sandboxels-package/sandboxels-1.13.2/lang/fil.json +1 -0
  309. package/sandboxels-package/sandboxels-1.13.2/lang/fr.json +1 -0
  310. package/sandboxels-package/sandboxels-1.13.2/lang/gen.js +21 -0
  311. package/sandboxels-package/sandboxels-1.13.2/lang/he.json +1 -0
  312. package/sandboxels-package/sandboxels-1.13.2/lang/hu.json +1 -0
  313. package/sandboxels-package/sandboxels-1.13.2/lang/id.json +1 -0
  314. package/sandboxels-package/sandboxels-1.13.2/lang/it.json +1 -0
  315. package/sandboxels-package/sandboxels-1.13.2/lang/ja.json +1 -0
  316. package/sandboxels-package/sandboxels-1.13.2/lang/ko.json +1 -0
  317. package/sandboxels-package/sandboxels-1.13.2/lang/la.json +1 -0
  318. package/sandboxels-package/sandboxels-1.13.2/lang/ne.json +1 -0
  319. package/sandboxels-package/sandboxels-1.13.2/lang/nl.json +1 -0
  320. package/sandboxels-package/sandboxels-1.13.2/lang/no.json +1 -0
  321. package/sandboxels-package/sandboxels-1.13.2/lang/pl.json +1 -0
  322. package/sandboxels-package/sandboxels-1.13.2/lang/pt.json +1 -0
  323. package/sandboxels-package/sandboxels-1.13.2/lang/pt_br.json +1 -0
  324. package/sandboxels-package/sandboxels-1.13.2/lang/qha.json +1 -0
  325. package/sandboxels-package/sandboxels-1.13.2/lang/qvp.json +1 -0
  326. package/sandboxels-package/sandboxels-1.13.2/lang/ro.json +1 -0
  327. package/sandboxels-package/sandboxels-1.13.2/lang/ru.json +1 -0
  328. package/sandboxels-package/sandboxels-1.13.2/lang/sr.json +1 -0
  329. package/sandboxels-package/sandboxels-1.13.2/lang/sv.json +1 -0
  330. package/sandboxels-package/sandboxels-1.13.2/lang/template.json +677 -0
  331. package/sandboxels-package/sandboxels-1.13.2/lang/th.json +1 -0
  332. package/sandboxels-package/sandboxels-1.13.2/lang/tok.json +1 -0
  333. package/sandboxels-package/sandboxels-1.13.2/lang/tok_old.json +543 -0
  334. package/sandboxels-package/sandboxels-1.13.2/lang/tr.json +1 -0
  335. package/sandboxels-package/sandboxels-1.13.2/lang/uk.json +1 -0
  336. package/sandboxels-package/sandboxels-1.13.2/lang/vi.json +1 -0
  337. package/sandboxels-package/sandboxels-1.13.2/lang/xem.json +1 -0
  338. package/sandboxels-package/sandboxels-1.13.2/lang/zh_cn.json +1 -0
  339. package/sandboxels-package/sandboxels-1.13.2/lang/zh_hant.json +1 -0
  340. package/sandboxels-package/sandboxels-1.13.2/license.txt +48 -0
  341. package/sandboxels-package/sandboxels-1.13.2/lite.html +1599 -0
  342. package/sandboxels-package/sandboxels-1.13.2/manifest.json +33 -0
  343. package/sandboxels-package/sandboxels-1.13.2/media.html +134 -0
  344. package/sandboxels-package/sandboxels-1.13.2/mobile-use.html +110 -0
  345. package/sandboxels-package/sandboxels-1.13.2/mod-list.html +535 -0
  346. package/sandboxels-package/sandboxels-1.13.2/mods/1.10example.js +118 -0
  347. package/sandboxels-package/sandboxels-1.13.2/mods/10kelements.js +172 -0
  348. package/sandboxels-package/sandboxels-1.13.2/mods/3pms_mod.js +144 -0
  349. package/sandboxels-package/sandboxels-1.13.2/mods/AnonymousWorldgenLibrary.js +55 -0
  350. package/sandboxels-package/sandboxels-1.13.2/mods/Batteries.js +288 -0
  351. package/sandboxels-package/sandboxels-1.13.2/mods/BlueStuff.js +681 -0
  352. package/sandboxels-package/sandboxels-1.13.2/mods/CandyCanes.js +15 -0
  353. package/sandboxels-package/sandboxels-1.13.2/mods/CandyCorn.js +8 -0
  354. package/sandboxels-package/sandboxels-1.13.2/mods/CherrySoda.js +77 -0
  355. package/sandboxels-package/sandboxels-1.13.2/mods/EasterEggs.js +1 -0
  356. package/sandboxels-package/sandboxels-1.13.2/mods/ExtraMachines.js +2338 -0
  357. package/sandboxels-package/sandboxels-1.13.2/mods/FoodFoodFood.js +114 -0
  358. package/sandboxels-package/sandboxels-1.13.2/mods/Gemstones.js +80 -0
  359. package/sandboxels-package/sandboxels-1.13.2/mods/GrapeSoda.js +141 -0
  360. package/sandboxels-package/sandboxels-1.13.2/mods/Humanitize.js +959 -0
  361. package/sandboxels-package/sandboxels-1.13.2/mods/Inators.js +108 -0
  362. package/sandboxels-package/sandboxels-1.13.2/mods/IreThings.js +169 -0
  363. package/sandboxels-package/sandboxels-1.13.2/mods/Lab.js +397 -0
  364. package/sandboxels-package/sandboxels-1.13.2/mods/LimesAdditions.js +401 -0
  365. package/sandboxels-package/sandboxels-1.13.2/mods/MarkusFoodMod.js +334 -0
  366. package/sandboxels-package/sandboxels-1.13.2/mods/Mucho_frio_y_Calor.js +16 -0
  367. package/sandboxels-package/sandboxels-1.13.2/mods/Natural_disasters.js +207 -0
  368. package/sandboxels-package/sandboxels-1.13.2/mods/Neutronium Mod.js +1228 -0
  369. package/sandboxels-package/sandboxels-1.13.2/mods/PRNGworldgenlib.js +526 -0
  370. package/sandboxels-package/sandboxels-1.13.2/mods/Quicksand_one.js +1355 -0
  371. package/sandboxels-package/sandboxels-1.13.2/mods/RF_transmitter_receiver.js +62 -0
  372. package/sandboxels-package/sandboxels-1.13.2/mods/Random_quicksands.js +932 -0
  373. package/sandboxels-package/sandboxels-1.13.2/mods/Science_mod.js +1791 -0
  374. package/sandboxels-package/sandboxels-1.13.2/mods/Shroomboxels.js +71 -0
  375. package/sandboxels-package/sandboxels-1.13.2/mods/SuperASAX_Funny_Mod.js +297 -0
  376. package/sandboxels-package/sandboxels-1.13.2/mods/Temperature+.js +47 -0
  377. package/sandboxels-package/sandboxels-1.13.2/mods/Thread.js +180 -0
  378. package/sandboxels-package/sandboxels-1.13.2/mods/UAMM.js +502 -0
  379. package/sandboxels-package/sandboxels-1.13.2/mods/Ultra_Steel.js +61 -0
  380. package/sandboxels-package/sandboxels-1.13.2/mods/UwUify.js +87 -0
  381. package/sandboxels-package/sandboxels-1.13.2/mods/VCR_OSD_MONO.ttf +0 -0
  382. package/sandboxels-package/sandboxels-1.13.2/mods/Vegan.js +255 -0
  383. package/sandboxels-package/sandboxels-1.13.2/mods/WhisperingTheory.js +213 -0
  384. package/sandboxels-package/sandboxels-1.13.2/mods/aChefsDream.js +8159 -0
  385. package/sandboxels-package/sandboxels-1.13.2/mods/aChefsDream2.js +815 -0
  386. package/sandboxels-package/sandboxels-1.13.2/mods/aChefsDream_beta.js +12 -0
  387. package/sandboxels-package/sandboxels-1.13.2/mods/aScientistsWish.js +1195 -0
  388. package/sandboxels-package/sandboxels-1.13.2/mods/a_bundle_of_tests.js +417 -0
  389. package/sandboxels-package/sandboxels-1.13.2/mods/a_mod_by_alice.js +46043 -0
  390. package/sandboxels-package/sandboxels-1.13.2/mods/acid_and_shapes.js +1 -0
  391. package/sandboxels-package/sandboxels-1.13.2/mods/adaceythings.js +343 -0
  392. package/sandboxels-package/sandboxels-1.13.2/mods/adjustablepixelsize.js +28 -0
  393. package/sandboxels-package/sandboxels-1.13.2/mods/advanced_colonies.js +146 -0
  394. package/sandboxels-package/sandboxels-1.13.2/mods/advancedbugs.js +37 -0
  395. package/sandboxels-package/sandboxels-1.13.2/mods/aircrafts.js +260 -0
  396. package/sandboxels-package/sandboxels-1.13.2/mods/alchem.js +372 -0
  397. package/sandboxels-package/sandboxels-1.13.2/mods/alchemy.js +69 -0
  398. package/sandboxels-package/sandboxels-1.13.2/mods/alcohol.js +113 -0
  399. package/sandboxels-package/sandboxels-1.13.2/mods/alkahest.js +33 -0
  400. package/sandboxels-package/sandboxels-1.13.2/mods/alkali_metal.js +308 -0
  401. package/sandboxels-package/sandboxels-1.13.2/mods/all_around_fillers.js +73 -0
  402. package/sandboxels-package/sandboxels-1.13.2/mods/all_stain.js +7 -0
  403. package/sandboxels-package/sandboxels-1.13.2/mods/allliquids.js +24 -0
  404. package/sandboxels-package/sandboxels-1.13.2/mods/amogus.js +69 -0
  405. package/sandboxels-package/sandboxels-1.13.2/mods/anmm.js +566 -0
  406. package/sandboxels-package/sandboxels-1.13.2/mods/ants.js +137 -0
  407. package/sandboxels-package/sandboxels-1.13.2/mods/apioforms_pre.js +238 -0
  408. package/sandboxels-package/sandboxels-1.13.2/mods/applestuff.js +80 -0
  409. package/sandboxels-package/sandboxels-1.13.2/mods/asciiboxels.js +231 -0
  410. package/sandboxels-package/sandboxels-1.13.2/mods/aussieAdditions.js +123 -0
  411. package/sandboxels-package/sandboxels-1.13.2/mods/baby.js +65 -0
  412. package/sandboxels-package/sandboxels-1.13.2/mods/background_changer.js +59 -0
  413. package/sandboxels-package/sandboxels-1.13.2/mods/bacteria_mod.js +121 -0
  414. package/sandboxels-package/sandboxels-1.13.2/mods/bananas.js +543 -0
  415. package/sandboxels-package/sandboxels-1.13.2/mods/barf_mod.js +42 -0
  416. package/sandboxels-package/sandboxels-1.13.2/mods/barista.js +209 -0
  417. package/sandboxels-package/sandboxels-1.13.2/mods/bere.js +85 -0
  418. package/sandboxels-package/sandboxels-1.13.2/mods/betterMenuScreens.js +279 -0
  419. package/sandboxels-package/sandboxels-1.13.2/mods/betterModManager.js +174 -0
  420. package/sandboxels-package/sandboxels-1.13.2/mods/betterSettings.js +304 -0
  421. package/sandboxels-package/sandboxels-1.13.2/mods/betterStats.js +55 -0
  422. package/sandboxels-package/sandboxels-1.13.2/mods/better_smooth_water.js +6 -0
  423. package/sandboxels-package/sandboxels-1.13.2/mods/betterelec.js +51 -0
  424. package/sandboxels-package/sandboxels-1.13.2/mods/bettergraygoo.js +1 -0
  425. package/sandboxels-package/sandboxels-1.13.2/mods/bettermetalscrap.js +37 -0
  426. package/sandboxels-package/sandboxels-1.13.2/mods/bf.js +394 -0
  427. package/sandboxels-package/sandboxels-1.13.2/mods/bfdi.js +145 -0
  428. package/sandboxels-package/sandboxels-1.13.2/mods/bigger_star_spawners.js +198 -0
  429. package/sandboxels-package/sandboxels-1.13.2/mods/biology.js +8694 -0
  430. package/sandboxels-package/sandboxels-1.13.2/mods/bioooze_and_pyrogens.js +264 -0
  431. package/sandboxels-package/sandboxels-1.13.2/mods/black_hole.js +43 -0
  432. package/sandboxels-package/sandboxels-1.13.2/mods/blocks.js +164 -0
  433. package/sandboxels-package/sandboxels-1.13.2/mods/boiling_things.js +540 -0
  434. package/sandboxels-package/sandboxels-1.13.2/mods/bojithekings_mod.js +377 -0
  435. package/sandboxels-package/sandboxels-1.13.2/mods/boompaste.js +76 -0
  436. package/sandboxels-package/sandboxels-1.13.2/mods/borders.js +76 -0
  437. package/sandboxels-package/sandboxels-1.13.2/mods/bouncing_balls.js +703 -0
  438. package/sandboxels-package/sandboxels-1.13.2/mods/broken_mod_test.js +1 -0
  439. package/sandboxels-package/sandboxels-1.13.2/mods/building.js +154 -0
  440. package/sandboxels-package/sandboxels-1.13.2/mods/buildingreplicator.js +210 -0
  441. package/sandboxels-package/sandboxels-1.13.2/mods/c_fighter_jet.js +449 -0
  442. package/sandboxels-package/sandboxels-1.13.2/mods/cannibal_cooking.js +620 -0
  443. package/sandboxels-package/sandboxels-1.13.2/mods/cash_n_more.js +58 -0
  444. package/sandboxels-package/sandboxels-1.13.2/mods/cat.js +100 -0
  445. package/sandboxels-package/sandboxels-1.13.2/mods/cells.js +376 -0
  446. package/sandboxels-package/sandboxels-1.13.2/mods/chalcopyrite.js +124 -0
  447. package/sandboxels-package/sandboxels-1.13.2/mods/chalk.js +499 -0
  448. package/sandboxels-package/sandboxels-1.13.2/mods/change.js +58 -0
  449. package/sandboxels-package/sandboxels-1.13.2/mods/changePixelDebug.js +9 -0
  450. package/sandboxels-package/sandboxels-1.13.2/mods/changeTempReactionParameter.js +73 -0
  451. package/sandboxels-package/sandboxels-1.13.2/mods/chaos.js +32 -0
  452. package/sandboxels-package/sandboxels-1.13.2/mods/charsonsmodbeta.js +494 -0
  453. package/sandboxels-package/sandboxels-1.13.2/mods/charsonsmoduno.js +2116 -0
  454. package/sandboxels-package/sandboxels-1.13.2/mods/chem.js +7877 -0
  455. package/sandboxels-package/sandboxels-1.13.2/mods/chemFormula.js +44 -0
  456. package/sandboxels-package/sandboxels-1.13.2/mods/chemFormulas.json +549 -0
  457. package/sandboxels-package/sandboxels-1.13.2/mods/cherries.js +543 -0
  458. package/sandboxels-package/sandboxels-1.13.2/mods/chess.js +1463 -0
  459. package/sandboxels-package/sandboxels-1.13.2/mods/children.js +14 -0
  460. package/sandboxels-package/sandboxels-1.13.2/mods/circuitcore.js +1914 -0
  461. package/sandboxels-package/sandboxels-1.13.2/mods/circuitcore_displays.js +157 -0
  462. package/sandboxels-package/sandboxels-1.13.2/mods/citybuilding.js +193 -0
  463. package/sandboxels-package/sandboxels-1.13.2/mods/classic_explosives.js +62 -0
  464. package/sandboxels-package/sandboxels-1.13.2/mods/classic_textures.js +196 -0
  465. package/sandboxels-package/sandboxels-1.13.2/mods/clf3.js +86 -0
  466. package/sandboxels-package/sandboxels-1.13.2/mods/clone_liquid.js +22 -0
  467. package/sandboxels-package/sandboxels-1.13.2/mods/clouds.js +103 -0
  468. package/sandboxels-package/sandboxels-1.13.2/mods/cmur.js +5195 -0
  469. package/sandboxels-package/sandboxels-1.13.2/mods/code_library.js +1827 -0
  470. package/sandboxels-package/sandboxels-1.13.2/mods/coffee.js +228 -0
  471. package/sandboxels-package/sandboxels-1.13.2/mods/cold_liquid_explosion.js +20 -0
  472. package/sandboxels-package/sandboxels-1.13.2/mods/cold_opposites.js +66 -0
  473. package/sandboxels-package/sandboxels-1.13.2/mods/coldblooded.js +729 -0
  474. package/sandboxels-package/sandboxels-1.13.2/mods/collab_mod.js +253 -0
  475. package/sandboxels-package/sandboxels-1.13.2/mods/colonies.js +574 -0
  476. package/sandboxels-package/sandboxels-1.13.2/mods/colorLED.js +38 -0
  477. package/sandboxels-package/sandboxels-1.13.2/mods/color_everything.js +3 -0
  478. package/sandboxels-package/sandboxels-1.13.2/mods/color_tools.js +297 -0
  479. package/sandboxels-package/sandboxels-1.13.2/mods/colored_lightbulbs.js +44 -0
  480. package/sandboxels-package/sandboxels-1.13.2/mods/combustion.js +416 -0
  481. package/sandboxels-package/sandboxels-1.13.2/mods/community_desserts.js +829 -0
  482. package/sandboxels-package/sandboxels-1.13.2/mods/content.js +131 -0
  483. package/sandboxels-package/sandboxels-1.13.2/mods/controllable_pixel.js +75 -0
  484. package/sandboxels-package/sandboxels-1.13.2/mods/controllable_pixel_test.js +161 -0
  485. package/sandboxels-package/sandboxels-1.13.2/mods/conveyance.js +95 -0
  486. package/sandboxels-package/sandboxels-1.13.2/mods/cooked_apple.js +26 -0
  487. package/sandboxels-package/sandboxels-1.13.2/mods/cookie_clicker.js +943 -0
  488. package/sandboxels-package/sandboxels-1.13.2/mods/cookingnstuff.js +1 -0
  489. package/sandboxels-package/sandboxels-1.13.2/mods/cool_tools.js +35 -0
  490. package/sandboxels-package/sandboxels-1.13.2/mods/copy_canvas.js +9 -0
  491. package/sandboxels-package/sandboxels-1.13.2/mods/copypaste.js +100 -0
  492. package/sandboxels-package/sandboxels-1.13.2/mods/coresbyp.js +90 -0
  493. package/sandboxels-package/sandboxels-1.13.2/mods/cpt_alt.js +241 -0
  494. package/sandboxels-package/sandboxels-1.13.2/mods/crimson.js +424 -0
  495. package/sandboxels-package/sandboxels-1.13.2/mods/cs_expanded.js +31 -0
  496. package/sandboxels-package/sandboxels-1.13.2/mods/cubesstuff.js +3329 -0
  497. package/sandboxels-package/sandboxels-1.13.2/mods/currency.js +246 -0
  498. package/sandboxels-package/sandboxels-1.13.2/mods/cursed_shader_by_jayd.js +90 -0
  499. package/sandboxels-package/sandboxels-1.13.2/mods/cursor.js +3 -0
  500. package/sandboxels-package/sandboxels-1.13.2/mods/cursor_shapes.js +149 -0
  501. package/sandboxels-package/sandboxels-1.13.2/mods/customBackground.js +45 -0
  502. package/sandboxels-package/sandboxels-1.13.2/mods/customexplosion.js +110 -0
  503. package/sandboxels-package/sandboxels-1.13.2/mods/customtemptools.js +50 -0
  504. package/sandboxels-package/sandboxels-1.13.2/mods/dalgonacandy.js +41 -0
  505. package/sandboxels-package/sandboxels-1.13.2/mods/datawire.js +238 -0
  506. package/sandboxels-package/sandboxels-1.13.2/mods/date_test.js +268 -0
  507. package/sandboxels-package/sandboxels-1.13.2/mods/death_count.js +35 -0
  508. package/sandboxels-package/sandboxels-1.13.2/mods/debris.js +75 -0
  509. package/sandboxels-package/sandboxels-1.13.2/mods/debrisable.js +1136 -0
  510. package/sandboxels-package/sandboxels-1.13.2/mods/debugRework.js +169 -0
  511. package/sandboxels-package/sandboxels-1.13.2/mods/delete_all_of_element.js +17 -0
  512. package/sandboxels-package/sandboxels-1.13.2/mods/deneme.js +70 -0
  513. package/sandboxels-package/sandboxels-1.13.2/mods/dependency_test.js +13 -0
  514. package/sandboxels-package/sandboxels-1.13.2/mods/descriptions.js +17 -0
  515. package/sandboxels-package/sandboxels-1.13.2/mods/devsnacks.js +193 -0
  516. package/sandboxels-package/sandboxels-1.13.2/mods/devtests.js +278 -0
  517. package/sandboxels-package/sandboxels-1.13.2/mods/discord_port.js +36 -0
  518. package/sandboxels-package/sandboxels-1.13.2/mods/doElectricity changes.js +55 -0
  519. package/sandboxels-package/sandboxels-1.13.2/mods/dogs.js +85 -0
  520. package/sandboxels-package/sandboxels-1.13.2/mods/doom.js +935 -0
  521. package/sandboxels-package/sandboxels-1.13.2/mods/doomsday.js +56 -0
  522. package/sandboxels-package/sandboxels-1.13.2/mods/drawPixels_change_test.js +39 -0
  523. package/sandboxels-package/sandboxels-1.13.2/mods/dried_food.js +38 -0
  524. package/sandboxels-package/sandboxels-1.13.2/mods/drill.js +261 -0
  525. package/sandboxels-package/sandboxels-1.13.2/mods/drills.js +760 -0
  526. package/sandboxels-package/sandboxels-1.13.2/mods/easysurvival.js +917 -0
  527. package/sandboxels-package/sandboxels-1.13.2/mods/edible_everything.js +7 -0
  528. package/sandboxels-package/sandboxels-1.13.2/mods/editTools.js +608 -0
  529. package/sandboxels-package/sandboxels-1.13.2/mods/eklegems.js +1313 -0
  530. package/sandboxels-package/sandboxels-1.13.2/mods/electricityTest.js +42 -0
  531. package/sandboxels-package/sandboxels-1.13.2/mods/elem3.js +352316 -0
  532. package/sandboxels-package/sandboxels-1.13.2/mods/elementEraser.js +40 -0
  533. package/sandboxels-package/sandboxels-1.13.2/mods/element_UI.js +140 -0
  534. package/sandboxels-package/sandboxels-1.13.2/mods/elementreplacer.js +12 -0
  535. package/sandboxels-package/sandboxels-1.13.2/mods/elementsManager.js +1212 -0
  536. package/sandboxels-package/sandboxels-1.13.2/mods/empty.js +7 -0
  537. package/sandboxels-package/sandboxels-1.13.2/mods/evenmoretemptools.js +42 -0
  538. package/sandboxels-package/sandboxels-1.13.2/mods/example_mod.js +89 -0
  539. package/sandboxels-package/sandboxels-1.13.2/mods/example_mod_old.js +84 -0
  540. package/sandboxels-package/sandboxels-1.13.2/mods/exoplanet.js +220 -0
  541. package/sandboxels-package/sandboxels-1.13.2/mods/explodeAtPlus.js +138 -0
  542. package/sandboxels-package/sandboxels-1.13.2/mods/explosionsound.js +19 -0
  543. package/sandboxels-package/sandboxels-1.13.2/mods/extra_element_info.js +79 -0
  544. package/sandboxels-package/sandboxels-1.13.2/mods/extrasaveslots.js +42 -0
  545. package/sandboxels-package/sandboxels-1.13.2/mods/fans.js +204 -0
  546. package/sandboxels-package/sandboxels-1.13.2/mods/fantastic_creatures.js +198 -0
  547. package/sandboxels-package/sandboxels-1.13.2/mods/fantasy_elements.js +800 -0
  548. package/sandboxels-package/sandboxels-1.13.2/mods/fast_lightmap.js +339 -0
  549. package/sandboxels-package/sandboxels-1.13.2/mods/fey_and_more.js +1678 -0
  550. package/sandboxels-package/sandboxels-1.13.2/mods/fill_script.js +42 -0
  551. package/sandboxels-package/sandboxels-1.13.2/mods/find.js +115 -0
  552. package/sandboxels-package/sandboxels-1.13.2/mods/fine_tuned_cloner.js +121 -0
  553. package/sandboxels-package/sandboxels-1.13.2/mods/fire_extinguisher.js +128 -0
  554. package/sandboxels-package/sandboxels-1.13.2/mods/fire_mod.js +565 -0
  555. package/sandboxels-package/sandboxels-1.13.2/mods/fire_slime.js +68 -0
  556. package/sandboxels-package/sandboxels-1.13.2/mods/fishin.js +519 -0
  557. package/sandboxels-package/sandboxels-1.13.2/mods/fission.js +68 -0
  558. package/sandboxels-package/sandboxels-1.13.2/mods/fission_physics.js +86 -0
  559. package/sandboxels-package/sandboxels-1.13.2/mods/fiveys_stuff.js +119 -0
  560. package/sandboxels-package/sandboxels-1.13.2/mods/flesh_infection.js +645 -0
  561. package/sandboxels-package/sandboxels-1.13.2/mods/flipflop.js +36 -0
  562. package/sandboxels-package/sandboxels-1.13.2/mods/flowers_and_forests.js +468 -0
  563. package/sandboxels-package/sandboxels-1.13.2/mods/flying_fish.js +49 -0
  564. package/sandboxels-package/sandboxels-1.13.2/mods/food_mods.js +15 -0
  565. package/sandboxels-package/sandboxels-1.13.2/mods/foodgalore +100 -0
  566. package/sandboxels-package/sandboxels-1.13.2/mods/fools+.js +299 -0
  567. package/sandboxels-package/sandboxels-1.13.2/mods/fools.js +99 -0
  568. package/sandboxels-package/sandboxels-1.13.2/mods/fools24.js +842 -0
  569. package/sandboxels-package/sandboxels-1.13.2/mods/fools25.js +350 -0
  570. package/sandboxels-package/sandboxels-1.13.2/mods/fossils.js +676 -0
  571. package/sandboxels-package/sandboxels-1.13.2/mods/fractals.js +156 -0
  572. package/sandboxels-package/sandboxels-1.13.2/mods/franklin.js +44 -0
  573. package/sandboxels-package/sandboxels-1.13.2/mods/freeTPS.js +19 -0
  574. package/sandboxels-package/sandboxels-1.13.2/mods/fueled_generators.js +131 -0
  575. package/sandboxels-package/sandboxels-1.13.2/mods/funny elements 2022-11-15.js +84 -0
  576. package/sandboxels-package/sandboxels-1.13.2/mods/funny_liquid.js +618 -0
  577. package/sandboxels-package/sandboxels-1.13.2/mods/funny_liquid_2.js +322 -0
  578. package/sandboxels-package/sandboxels-1.13.2/mods/funny_liquid_3.js +254 -0
  579. package/sandboxels-package/sandboxels-1.13.2/mods/funny_solid.js +163 -0
  580. package/sandboxels-package/sandboxels-1.13.2/mods/funnynames.js +320 -0
  581. package/sandboxels-package/sandboxels-1.13.2/mods/fwibblen.js +69 -0
  582. package/sandboxels-package/sandboxels-1.13.2/mods/gambling.js +94 -0
  583. package/sandboxels-package/sandboxels-1.13.2/mods/gameOfLife.js +83 -0
  584. package/sandboxels-package/sandboxels-1.13.2/mods/garn47.js +325 -0
  585. package/sandboxels-package/sandboxels-1.13.2/mods/gasdecay.js +31 -0
  586. package/sandboxels-package/sandboxels-1.13.2/mods/generative_mods.js +2479 -0
  587. package/sandboxels-package/sandboxels-1.13.2/mods/generator_prompt.js +166 -0
  588. package/sandboxels-package/sandboxels-1.13.2/mods/genetics.js +4038 -0
  589. package/sandboxels-package/sandboxels-1.13.2/mods/glenn_gases.js +411 -0
  590. package/sandboxels-package/sandboxels-1.13.2/mods/glow.js +130 -0
  591. package/sandboxels-package/sandboxels-1.13.2/mods/gradient_background_support.js +21 -0
  592. package/sandboxels-package/sandboxels-1.13.2/mods/graphite.js +460 -0
  593. package/sandboxels-package/sandboxels-1.13.2/mods/grav_mudstones.js +382 -0
  594. package/sandboxels-package/sandboxels-1.13.2/mods/gravity.js +40 -0
  595. package/sandboxels-package/sandboxels-1.13.2/mods/gravity_test.js +51 -0
  596. package/sandboxels-package/sandboxels-1.13.2/mods/greenitemsandmore.js +183 -0
  597. package/sandboxels-package/sandboxels-1.13.2/mods/guided_rocket.js +106 -0
  598. package/sandboxels-package/sandboxels-1.13.2/mods/halogen.js +384 -0
  599. package/sandboxels-package/sandboxels-1.13.2/mods/haseulite.js +1673 -0
  600. package/sandboxels-package/sandboxels-1.13.2/mods/heatglow.js +74 -0
  601. package/sandboxels-package/sandboxels-1.13.2/mods/heatshield.js +30 -0
  602. package/sandboxels-package/sandboxels-1.13.2/mods/hexagon.js +45 -0
  603. package/sandboxels-package/sandboxels-1.13.2/mods/hidden_ground.js +42 -0
  604. package/sandboxels-package/sandboxels-1.13.2/mods/hideandshowtools.js +18 -0
  605. package/sandboxels-package/sandboxels-1.13.2/mods/human_edit.js +725 -0
  606. package/sandboxels-package/sandboxels-1.13.2/mods/human_friendly_design.js +899 -0
  607. package/sandboxels-package/sandboxels-1.13.2/mods/humans.js +203 -0
  608. package/sandboxels-package/sandboxels-1.13.2/mods/hydroid.js +224 -0
  609. package/sandboxels-package/sandboxels-1.13.2/mods/icb.js +32 -0
  610. package/sandboxels-package/sandboxels-1.13.2/mods/iean.js +135 -0
  611. package/sandboxels-package/sandboxels-1.13.2/mods/immune.js +199 -0
  612. package/sandboxels-package/sandboxels-1.13.2/mods/incinerators.js +29 -0
  613. package/sandboxels-package/sandboxels-1.13.2/mods/industry.js +308 -0
  614. package/sandboxels-package/sandboxels-1.13.2/mods/infLiqLight.js +8 -0
  615. package/sandboxels-package/sandboxels-1.13.2/mods/injector.js +450 -0
  616. package/sandboxels-package/sandboxels-1.13.2/mods/insane_random_events.js +123 -0
  617. package/sandboxels-package/sandboxels-1.13.2/mods/invertscroll.js +8 -0
  618. package/sandboxels-package/sandboxels-1.13.2/mods/invisible_things.js +83 -0
  619. package/sandboxels-package/sandboxels-1.13.2/mods/iocalfaeus_clones.js +100 -0
  620. package/sandboxels-package/sandboxels-1.13.2/mods/jaydsfunctions.js +187 -0
  621. package/sandboxels-package/sandboxels-1.13.2/mods/jaydsmods.js +89 -0
  622. package/sandboxels-package/sandboxels-1.13.2/mods/jaydstuff.js +783 -0
  623. package/sandboxels-package/sandboxels-1.13.2/mods/junction.js +50 -0
  624. package/sandboxels-package/sandboxels-1.13.2/mods/ketchup_mod.js +526 -0
  625. package/sandboxels-package/sandboxels-1.13.2/mods/kopalsBar.js +175 -0
  626. package/sandboxels-package/sandboxels-1.13.2/mods/kopalstuff.js +541 -0
  627. package/sandboxels-package/sandboxels-1.13.2/mods/lactose_intolerance_and_celiac.js +18 -0
  628. package/sandboxels-package/sandboxels-1.13.2/mods/laetium.js +328 -0
  629. package/sandboxels-package/sandboxels-1.13.2/mods/lattice_filler.js +29 -0
  630. package/sandboxels-package/sandboxels-1.13.2/mods/lemonade.js +71 -0
  631. package/sandboxels-package/sandboxels-1.13.2/mods/libhooktick.js +49 -0
  632. package/sandboxels-package/sandboxels-1.13.2/mods/libpacman-v1.js +61 -0
  633. package/sandboxels-package/sandboxels-1.13.2/mods/libpixeltracking.js +29 -0
  634. package/sandboxels-package/sandboxels-1.13.2/mods/library_test.js +5 -0
  635. package/sandboxels-package/sandboxels-1.13.2/mods/life_eater.js +169 -0
  636. package/sandboxels-package/sandboxels-1.13.2/mods/light.js +218 -0
  637. package/sandboxels-package/sandboxels-1.13.2/mods/lighting_test.js +79 -0
  638. package/sandboxels-package/sandboxels-1.13.2/mods/lightmap.js +382 -0
  639. package/sandboxels-package/sandboxels-1.13.2/mods/limewater.js +75 -0
  640. package/sandboxels-package/sandboxels-1.13.2/mods/liquid_energy.js +294 -0
  641. package/sandboxels-package/sandboxels-1.13.2/mods/liquid_mixing.js +184 -0
  642. package/sandboxels-package/sandboxels-1.13.2/mods/liquid_void.js +29 -0
  643. package/sandboxels-package/sandboxels-1.13.2/mods/littlejohnny.js +72 -0
  644. package/sandboxels-package/sandboxels-1.13.2/mods/lizard_mod.js +91 -0
  645. package/sandboxels-package/sandboxels-1.13.2/mods/logicgates.js +482 -0
  646. package/sandboxels-package/sandboxels-1.13.2/mods/lone_urea.js +69 -0
  647. package/sandboxels-package/sandboxels-1.13.2/mods/lost_souls.js +177 -0
  648. package/sandboxels-package/sandboxels-1.13.2/mods/lye.js +34 -0
  649. package/sandboxels-package/sandboxels-1.13.2/mods/machines.js +293 -0
  650. package/sandboxels-package/sandboxels-1.13.2/mods/manyMoreThemes.js +67 -0
  651. package/sandboxels-package/sandboxels-1.13.2/mods/mars.js +473 -0
  652. package/sandboxels-package/sandboxels-1.13.2/mods/maxColorOffset.js +54 -0
  653. package/sandboxels-package/sandboxels-1.13.2/mods/maze.js +71 -0
  654. package/sandboxels-package/sandboxels-1.13.2/mods/meat_rockets.js +70 -0
  655. package/sandboxels-package/sandboxels-1.13.2/mods/memelists.js +17 -0
  656. package/sandboxels-package/sandboxels-1.13.2/mods/metals.js +791 -0
  657. package/sandboxels-package/sandboxels-1.13.2/mods/minecraft.js +818 -0
  658. package/sandboxels-package/sandboxels-1.13.2/mods/minesweeper.js +100 -0
  659. package/sandboxels-package/sandboxels-1.13.2/mods/miscellaneous_elements.js +278 -0
  660. package/sandboxels-package/sandboxels-1.13.2/mods/miscible_psoup_and_birthpool.js +7 -0
  661. package/sandboxels-package/sandboxels-1.13.2/mods/mix.js +65 -0
  662. package/sandboxels-package/sandboxels-1.13.2/mods/mixture.js +714 -0
  663. package/sandboxels-package/sandboxels-1.13.2/mods/mixtureII.js +440 -0
  664. package/sandboxels-package/sandboxels-1.13.2/mods/mjsstuff.js +233 -0
  665. package/sandboxels-package/sandboxels-1.13.2/mods/mobile_keybinds.js +33 -0
  666. package/sandboxels-package/sandboxels-1.13.2/mods/mobile_shift.js +336 -0
  667. package/sandboxels-package/sandboxels-1.13.2/mods/mobs.js +5147 -0
  668. package/sandboxels-package/sandboxels-1.13.2/mods/mod_for_mnem.js +1 -0
  669. package/sandboxels-package/sandboxels-1.13.2/mods/modlangs.js +53 -0
  670. package/sandboxels-package/sandboxels-1.13.2/mods/moreViews.js +473 -0
  671. package/sandboxels-package/sandboxels-1.13.2/mods/more_art_states.js +89 -0
  672. package/sandboxels-package/sandboxels-1.13.2/mods/more_breaking.js +189 -0
  673. package/sandboxels-package/sandboxels-1.13.2/mods/more_disasters.js +497 -0
  674. package/sandboxels-package/sandboxels-1.13.2/mods/more_gold.js +115 -0
  675. package/sandboxels-package/sandboxels-1.13.2/mods/morebombs.js +1143 -0
  676. package/sandboxels-package/sandboxels-1.13.2/mods/morechemistry.js +1764 -0
  677. package/sandboxels-package/sandboxels-1.13.2/mods/morefoodsmod.js +154 -0
  678. package/sandboxels-package/sandboxels-1.13.2/mods/moreliquids.js +138 -0
  679. package/sandboxels-package/sandboxels-1.13.2/mods/morepowders.js +335 -0
  680. package/sandboxels-package/sandboxels-1.13.2/mods/moretools.js +68 -0
  681. package/sandboxels-package/sandboxels-1.13.2/mods/moretrees.js +490 -0
  682. package/sandboxels-package/sandboxels-1.13.2/mods/mossstuff.js +2301 -0
  683. package/sandboxels-package/sandboxels-1.13.2/mods/mouthwash.js +23 -0
  684. package/sandboxels-package/sandboxels-1.13.2/mods/move_tools.js +71 -0
  685. package/sandboxels-package/sandboxels-1.13.2/mods/moveable_cubes.js +258 -0
  686. package/sandboxels-package/sandboxels-1.13.2/mods/moving_pixels.js +179 -0
  687. package/sandboxels-package/sandboxels-1.13.2/mods/mush_infection.js +321 -0
  688. package/sandboxels-package/sandboxels-1.13.2/mods/musicalfruit.js +4 -0
  689. package/sandboxels-package/sandboxels-1.13.2/mods/mustard.js +48 -0
  690. package/sandboxels-package/sandboxels-1.13.2/mods/mystic.js +274 -0
  691. package/sandboxels-package/sandboxels-1.13.2/mods/nastystuff.js +57 -0
  692. package/sandboxels-package/sandboxels-1.13.2/mods/nature_Mod.js +1384 -0
  693. package/sandboxels-package/sandboxels-1.13.2/mods/nekonicos_stuff.js +1651 -0
  694. package/sandboxels-package/sandboxels-1.13.2/mods/nested_for_reaction_example.js +19 -0
  695. package/sandboxels-package/sandboxels-1.13.2/mods/nettysaddon.js +48 -0
  696. package/sandboxels-package/sandboxels-1.13.2/mods/neutronium_compressor.js +416 -0
  697. package/sandboxels-package/sandboxels-1.13.2/mods/nicer_flame.js +48 -0
  698. package/sandboxels-package/sandboxels-1.13.2/mods/nirmod.js +296 -0
  699. package/sandboxels-package/sandboxels-1.13.2/mods/nitroglycerin.js +54 -0
  700. package/sandboxels-package/sandboxels-1.13.2/mods/no_blood.js +23 -0
  701. package/sandboxels-package/sandboxels-1.13.2/mods/no_radiation_events.js +3 -0
  702. package/sandboxels-package/sandboxels-1.13.2/mods/no_random_grbs.js +9 -0
  703. package/sandboxels-package/sandboxels-1.13.2/mods/no_scroll.js +5 -0
  704. package/sandboxels-package/sandboxels-1.13.2/mods/noblegas.js +215 -0
  705. package/sandboxels-package/sandboxels-1.13.2/mods/nocancer.js +9 -0
  706. package/sandboxels-package/sandboxels-1.13.2/mods/nocancer2.js +1 -0
  707. package/sandboxels-package/sandboxels-1.13.2/mods/noconfirm.js +1 -0
  708. package/sandboxels-package/sandboxels-1.13.2/mods/nograssgrow.js +6 -0
  709. package/sandboxels-package/sandboxels-1.13.2/mods/noita.js +4895 -0
  710. package/sandboxels-package/sandboxels-1.13.2/mods/noita_demake.js +430 -0
  711. package/sandboxels-package/sandboxels-1.13.2/mods/nopixellimit.js +2 -0
  712. package/sandboxels-package/sandboxels-1.13.2/mods/note_block.js +97 -0
  713. package/sandboxels-package/sandboxels-1.13.2/mods/note_block_advanced.js +628 -0
  714. package/sandboxels-package/sandboxels-1.13.2/mods/nousersthings.js +4081 -0
  715. package/sandboxels-package/sandboxels-1.13.2/mods/nuclear.js +300 -0
  716. package/sandboxels-package/sandboxels-1.13.2/mods/nv7.js +35013 -0
  717. package/sandboxels-package/sandboxels-1.13.2/mods/obsidian.js +51 -0
  718. package/sandboxels-package/sandboxels-1.13.2/mods/occlusion.js +149 -0
  719. package/sandboxels-package/sandboxels-1.13.2/mods/ocean.js +130 -0
  720. package/sandboxels-package/sandboxels-1.13.2/mods/ochem_prerelease.js +774 -0
  721. package/sandboxels-package/sandboxels-1.13.2/mods/oldTooltip.js +23 -0
  722. package/sandboxels-package/sandboxels-1.13.2/mods/oldleds.js +20 -0
  723. package/sandboxels-package/sandboxels-1.13.2/mods/onTryMoveInto.js +85 -0
  724. package/sandboxels-package/sandboxels-1.13.2/mods/onecolor.js +146 -0
  725. package/sandboxels-package/sandboxels-1.13.2/mods/orchidslibrary.js +70 -0
  726. package/sandboxels-package/sandboxels-1.13.2/mods/ores.js +232 -0
  727. package/sandboxels-package/sandboxels-1.13.2/mods/organism.js +915 -0
  728. package/sandboxels-package/sandboxels-1.13.2/mods/oxide.theme.js +46 -0
  729. package/sandboxels-package/sandboxels-1.13.2/mods/page_color.js +35 -0
  730. package/sandboxels-package/sandboxels-1.13.2/mods/paint_event.js +17 -0
  731. package/sandboxels-package/sandboxels-1.13.2/mods/periodic_and_more.js +64 -0
  732. package/sandboxels-package/sandboxels-1.13.2/mods/peta.js +214 -0
  733. package/sandboxels-package/sandboxels-1.13.2/mods/petal_dye.js +40 -0
  734. package/sandboxels-package/sandboxels-1.13.2/mods/pixelResizeTool.js +18 -0
  735. package/sandboxels-package/sandboxels-1.13.2/mods/pizzasstuff.js +2338 -0
  736. package/sandboxels-package/sandboxels-1.13.2/mods/place_all_elements.js +30 -0
  737. package/sandboxels-package/sandboxels-1.13.2/mods/placuchtestthing.js +17 -0
  738. package/sandboxels-package/sandboxels-1.13.2/mods/planet.js +270 -0
  739. package/sandboxels-package/sandboxels-1.13.2/mods/planet_cracker.js +81 -0
  740. package/sandboxels-package/sandboxels-1.13.2/mods/plants.js +1616 -0
  741. package/sandboxels-package/sandboxels-1.13.2/mods/plastic.js +93 -0
  742. package/sandboxels-package/sandboxels-1.13.2/mods/portal.js +120 -0
  743. package/sandboxels-package/sandboxels-1.13.2/mods/potato_chips.js +44 -0
  744. package/sandboxels-package/sandboxels-1.13.2/mods/prairie.js +200 -0
  745. package/sandboxels-package/sandboxels-1.13.2/mods/precisionDrawing.js +58 -0
  746. package/sandboxels-package/sandboxels-1.13.2/mods/pressure.js +223 -0
  747. package/sandboxels-package/sandboxels-1.13.2/mods/pressure_sensitive.js +20 -0
  748. package/sandboxels-package/sandboxels-1.13.2/mods/prideflags.js +307 -0
  749. package/sandboxels-package/sandboxels-1.13.2/mods/primordial_birthpool.js +38 -0
  750. package/sandboxels-package/sandboxels-1.13.2/mods/prompt.js +1215 -0
  751. package/sandboxels-package/sandboxels-1.13.2/mods/prop and prompt variables.js +16 -0
  752. package/sandboxels-package/sandboxels-1.13.2/mods/prop.js +466 -0
  753. package/sandboxels-package/sandboxels-1.13.2/mods/pullers.js +479 -0
  754. package/sandboxels-package/sandboxels-1.13.2/mods/purple_guys_mod.js +3635 -0
  755. package/sandboxels-package/sandboxels-1.13.2/mods/pushers.js +287 -0
  756. package/sandboxels-package/sandboxels-1.13.2/mods/radioactive.js +135 -0
  757. package/sandboxels-package/sandboxels-1.13.2/mods/rainbow_cursor.js +12 -0
  758. package/sandboxels-package/sandboxels-1.13.2/mods/rainbow_tests.js +348 -0
  759. package/sandboxels-package/sandboxels-1.13.2/mods/rainsmod.js +412 -0
  760. package/sandboxels-package/sandboxels-1.13.2/mods/random_elems.js +463 -0
  761. package/sandboxels-package/sandboxels-1.13.2/mods/random_everything.js +7 -0
  762. package/sandboxels-package/sandboxels-1.13.2/mods/random_fixes.js +42 -0
  763. package/sandboxels-package/sandboxels-1.13.2/mods/random_liquids.js +220 -0
  764. package/sandboxels-package/sandboxels-1.13.2/mods/random_rocks.js +164 -0
  765. package/sandboxels-package/sandboxels-1.13.2/mods/random_things.js +69 -0
  766. package/sandboxels-package/sandboxels-1.13.2/mods/randomelements.js +200 -0
  767. package/sandboxels-package/sandboxels-1.13.2/mods/randomness.js +730 -0
  768. package/sandboxels-package/sandboxels-1.13.2/mods/randomness_but_tick.js +1257 -0
  769. package/sandboxels-package/sandboxels-1.13.2/mods/randomness_but_tool.js +26 -0
  770. package/sandboxels-package/sandboxels-1.13.2/mods/ray_cloner.js +150 -0
  771. package/sandboxels-package/sandboxels-1.13.2/mods/rays++.js +60 -0
  772. package/sandboxels-package/sandboxels-1.13.2/mods/rays.js +464 -0
  773. package/sandboxels-package/sandboxels-1.13.2/mods/reactor_supplies_and_others.js +88 -0
  774. package/sandboxels-package/sandboxels-1.13.2/mods/real_light.js +754 -0
  775. package/sandboxels-package/sandboxels-1.13.2/mods/replace.js +79 -0
  776. package/sandboxels-package/sandboxels-1.13.2/mods/replace_all.js +45 -0
  777. package/sandboxels-package/sandboxels-1.13.2/mods/reverse_time.js +421 -0
  778. package/sandboxels-package/sandboxels-1.13.2/mods/rich_grain.js +54 -0
  779. package/sandboxels-package/sandboxels-1.13.2/mods/rising_powders.js +3 -0
  780. package/sandboxels-package/sandboxels-1.13.2/mods/rock_paper_scissors.js +32 -0
  781. package/sandboxels-package/sandboxels-1.13.2/mods/roseyiede.js +363 -0
  782. package/sandboxels-package/sandboxels-1.13.2/mods/rpg.js +1342 -0
  783. package/sandboxels-package/sandboxels-1.13.2/mods/ru_expanded.js +25 -0
  784. package/sandboxels-package/sandboxels-1.13.2/mods/runAfterAutogen and onload restructure.js +1 -0
  785. package/sandboxels-package/sandboxels-1.13.2/mods/runAfterAutogen2.js +56 -0
  786. package/sandboxels-package/sandboxels-1.13.2/mods/sandboxels.js +2501 -0
  787. package/sandboxels-package/sandboxels-1.13.2/mods/saturnsstuff.js +729 -0
  788. package/sandboxels-package/sandboxels-1.13.2/mods/save_loading.js +520 -0
  789. package/sandboxels-package/sandboxels-1.13.2/mods/sbmixup.js +1439 -0
  790. package/sandboxels-package/sandboxels-1.13.2/mods/sbstuff.js +1865 -0
  791. package/sandboxels-package/sandboxels-1.13.2/mods/scenexe.js +770 -0
  792. package/sandboxels-package/sandboxels-1.13.2/mods/schematics.js +214 -0
  793. package/sandboxels-package/sandboxels-1.13.2/mods/scp.js +7831 -0
  794. package/sandboxels-package/sandboxels-1.13.2/mods/selective_paint.js +60 -0
  795. package/sandboxels-package/sandboxels-1.13.2/mods/sensitive.js +20 -0
  796. package/sandboxels-package/sandboxels-1.13.2/mods/shade.js +46 -0
  797. package/sandboxels-package/sandboxels-1.13.2/mods/shader_by_jayd.js +168 -0
  798. package/sandboxels-package/sandboxels-1.13.2/mods/shipstuff.js +198 -0
  799. package/sandboxels-package/sandboxels-1.13.2/mods/singleColor.js +1 -0
  800. package/sandboxels-package/sandboxels-1.13.2/mods/single_humans.js +147 -0
  801. package/sandboxels-package/sandboxels-1.13.2/mods/sky.js +141 -0
  802. package/sandboxels-package/sandboxels-1.13.2/mods/slag_fix.js +25 -0
  803. package/sandboxels-package/sandboxels-1.13.2/mods/smooth_water.js +6 -0
  804. package/sandboxels-package/sandboxels-1.13.2/mods/solid_rock.js +74 -0
  805. package/sandboxels-package/sandboxels-1.13.2/mods/solidcolor.js +146 -0
  806. package/sandboxels-package/sandboxels-1.13.2/mods/solubility.js +287 -0
  807. package/sandboxels-package/sandboxels-1.13.2/mods/some_tf_liquids.js +358 -0
  808. package/sandboxels-package/sandboxels-1.13.2/mods/souls.js +163 -0
  809. package/sandboxels-package/sandboxels-1.13.2/mods/soups.js +104 -0
  810. package/sandboxels-package/sandboxels-1.13.2/mods/spaceship.js +138 -0
  811. package/sandboxels-package/sandboxels-1.13.2/mods/special_property_library.js +155 -0
  812. package/sandboxels-package/sandboxels-1.13.2/mods/sponge_edit.js +76 -0
  813. package/sandboxels-package/sandboxels-1.13.2/mods/sports_beta.js +69 -0
  814. package/sandboxels-package/sandboxels-1.13.2/mods/spouts.js +715 -0
  815. package/sandboxels-package/sandboxels-1.13.2/mods/spring.js +283 -0
  816. package/sandboxels-package/sandboxels-1.13.2/mods/stainless_steel.js +126 -0
  817. package/sandboxels-package/sandboxels-1.13.2/mods/star_wars.js +70 -0
  818. package/sandboxels-package/sandboxels-1.13.2/mods/state_voids.js +347 -0
  819. package/sandboxels-package/sandboxels-1.13.2/mods/static.js +182 -0
  820. package/sandboxels-package/sandboxels-1.13.2/mods/stickyslime.js +3 -0
  821. package/sandboxels-package/sandboxels-1.13.2/mods/stickystuff.js +59 -0
  822. package/sandboxels-package/sandboxels-1.13.2/mods/stormlib.js +99 -0
  823. package/sandboxels-package/sandboxels-1.13.2/mods/stripe_paint.js +110 -0
  824. package/sandboxels-package/sandboxels-1.13.2/mods/structure_test.js +755 -0
  825. package/sandboxels-package/sandboxels-1.13.2/mods/sturdierpowders.js +595 -0
  826. package/sandboxels-package/sandboxels-1.13.2/mods/subspace.js +46 -0
  827. package/sandboxels-package/sandboxels-1.13.2/mods/survival.js +499 -0
  828. package/sandboxels-package/sandboxels-1.13.2/mods/survivalhack.js +500 -0
  829. package/sandboxels-package/sandboxels-1.13.2/mods/sus.js +92 -0
  830. package/sandboxels-package/sandboxels-1.13.2/mods/switches.js +53 -0
  831. package/sandboxels-package/sandboxels-1.13.2/mods/talismanadditions.js +124 -0
  832. package/sandboxels-package/sandboxels-1.13.2/mods/tech.js +282 -0
  833. package/sandboxels-package/sandboxels-1.13.2/mods/test.js +8 -0
  834. package/sandboxels-package/sandboxels-1.13.2/mods/test_2.js +399 -0
  835. package/sandboxels-package/sandboxels-1.13.2/mods/testmod.js +7 -0
  836. package/sandboxels-package/sandboxels-1.13.2/mods/text.js +681 -0
  837. package/sandboxels-package/sandboxels-1.13.2/mods/texture_pack_by_jayd.js +116 -0
  838. package/sandboxels-package/sandboxels-1.13.2/mods/texturepack.js +94 -0
  839. package/sandboxels-package/sandboxels-1.13.2/mods/the_ground.js +3 -0
  840. package/sandboxels-package/sandboxels-1.13.2/mods/the_ground_og.js +2570 -0
  841. package/sandboxels-package/sandboxels-1.13.2/mods/the_snail.js +63 -0
  842. package/sandboxels-package/sandboxels-1.13.2/mods/themostrandomstuff.js +523 -0
  843. package/sandboxels-package/sandboxels-1.13.2/mods/thermal_conduit.js +157 -0
  844. package/sandboxels-package/sandboxels-1.13.2/mods/thiquovite.js +1745 -0
  845. package/sandboxels-package/sandboxels-1.13.2/mods/ticking_temp_stuff.js +494 -0
  846. package/sandboxels-package/sandboxels-1.13.2/mods/time.js +7 -0
  847. package/sandboxels-package/sandboxels-1.13.2/mods/toms_stuff.js +308 -0
  848. package/sandboxels-package/sandboxels-1.13.2/mods/tool_pixel_behavior.js +792 -0
  849. package/sandboxels-package/sandboxels-1.13.2/mods/tooltip.js +32 -0
  850. package/sandboxels-package/sandboxels-1.13.2/mods/toothpaste.js +154 -0
  851. package/sandboxels-package/sandboxels-1.13.2/mods/tpt.js +89 -0
  852. package/sandboxels-package/sandboxels-1.13.2/mods/triggerable_random_powders.js +68 -0
  853. package/sandboxels-package/sandboxels-1.13.2/mods/troll.js +170 -0
  854. package/sandboxels-package/sandboxels-1.13.2/mods/true_flashbang.js +520 -0
  855. package/sandboxels-package/sandboxels-1.13.2/mods/ultimadrink.js +3191 -0
  856. package/sandboxels-package/sandboxels-1.13.2/mods/uncook.js +51 -0
  857. package/sandboxels-package/sandboxels-1.13.2/mods/unhide.js +10 -0
  858. package/sandboxels-package/sandboxels-1.13.2/mods/variety_mod.js +727 -0
  859. package/sandboxels-package/sandboxels-1.13.2/mods/velocity.js +139 -0
  860. package/sandboxels-package/sandboxels-1.13.2/mods/velocity2.js +209 -0
  861. package/sandboxels-package/sandboxels-1.13.2/mods/video.js +125 -0
  862. package/sandboxels-package/sandboxels-1.13.2/mods/vinegar.js +17 -0
  863. package/sandboxels-package/sandboxels-1.13.2/mods/volcanic_expansion.js +94 -0
  864. package/sandboxels-package/sandboxels-1.13.2/mods/war.js +51 -0
  865. package/sandboxels-package/sandboxels-1.13.2/mods/war_crimes.js +131 -0
  866. package/sandboxels-package/sandboxels-1.13.2/mods/waterspout.js +26 -0
  867. package/sandboxels-package/sandboxels-1.13.2/mods/weAllScreamFor.js +218 -0
  868. package/sandboxels-package/sandboxels-1.13.2/mods/weapons.js +1286 -0
  869. package/sandboxels-package/sandboxels-1.13.2/mods/wheel_fix.js +19 -0
  870. package/sandboxels-package/sandboxels-1.13.2/mods/wifi.js +162 -0
  871. package/sandboxels-package/sandboxels-1.13.2/mods/wifi_draw.js +87 -0
  872. package/sandboxels-package/sandboxels-1.13.2/mods/wine.js +8 -0
  873. package/sandboxels-package/sandboxels-1.13.2/mods/wirelike_test.js +681 -0
  874. package/sandboxels-package/sandboxels-1.13.2/mods/worldEdit.js +441 -0
  875. package/sandboxels-package/sandboxels-1.13.2/mods/worldEdit.ts +569 -0
  876. package/sandboxels-package/sandboxels-1.13.2/mods/world_gen_test.js +315 -0
  877. package/sandboxels-package/sandboxels-1.13.2/mods/worldgen_test.js +173 -0
  878. package/sandboxels-package/sandboxels-1.13.2/mods/worldgenlibrary.js +164 -0
  879. package/sandboxels-package/sandboxels-1.13.2/mods/x_dependent_change_test.js +34 -0
  880. package/sandboxels-package/sandboxels-1.13.2/mods/yumcherries.js +543 -0
  881. package/sandboxels-package/sandboxels-1.13.2/mods/zonneschijn7.js +6 -0
  882. package/sandboxels-package/sandboxels-1.13.2/mods/zoom.js +322 -0
  883. package/sandboxels-package/sandboxels-1.13.2/offline-use.html +103 -0
  884. package/sandboxels-package/sandboxels-1.13.2/offline.html +1 -0
  885. package/sandboxels-package/sandboxels-1.13.2/presskit.html +165 -0
  886. package/sandboxels-package/sandboxels-1.13.2/promo.html +13 -0
  887. package/sandboxels-package/sandboxels-1.13.2/scripts/im2elements/code.go +116 -0
  888. package/sandboxels-package/sandboxels-1.13.2/scripts/im2elements/go.mod +5 -0
  889. package/sandboxels-package/sandboxels-1.13.2/scripts/im2elements/go.sum +2 -0
  890. package/sandboxels-package/sandboxels-1.13.2/scripts/im2elements/main.go +58 -0
  891. package/sandboxels-package/sandboxels-1.13.2/scripts/perlin.js +165 -0
  892. package/sandboxels-package/sandboxels-1.13.2/service-worker.js +16 -0
  893. package/sandboxels-package/sandboxels-1.13.2/sitemap.txt +13 -0
  894. package/sandboxels-package/sandboxels-1.13.2/style.css +1105 -0
  895. package/sandboxels-package/sandboxels-1.13.2/template.html +86 -0
  896. package/sandboxels-package/sandboxels-1.13.2/tips.html +147 -0
  897. package/sandboxels-package/sandboxels-1.13.2/translate.html +105 -0
  898. package/README.md +0 -3
@@ -0,0 +1,2570 @@
1
+ /*
2
+ TODO:
3
+ Soils
4
+ More sedimentary rocks
5
+ Metamorphic rocks
6
+ Ersatz pressure
7
+ Merge crimson?
8
+ Proper classification of limestone within these code comments
9
+ */
10
+
11
+ //Variables
12
+
13
+ //var vitreousInterfelsicName = "obsidian";
14
+ var vitreousInterfelsicName = "dacidian";
15
+ var vitreousIntermediateName = "andesidian";
16
+ var vitreousMaficName = "basalidian";
17
+ var vitreousUltramaficName = "komatidian";
18
+
19
+ //Functions
20
+
21
+ //Star world matter function
22
+
23
+ var stellarPlasmaSpreadWhitelist = ["stellar_plasma","liquid_stellar_plasma","liquid_degenerate_neutronium","gaseous_degenerate_neutronium","neutron_star"];
24
+
25
+ function starColor(pixel) {
26
+ if (pixel.temp < 0) { pixel.color = pixelColorPick(pixel,"#615e5e"); var c=0 }
27
+ else if (pixel.temp < 200) { pixel.color = pixelColorPick(pixel,"#6e4c4b"); var c=0 }
28
+ else if (pixel.temp < 400) { pixel.color = pixelColorPick(pixel,"#944340"); var c=0.00003 }
29
+ else if (pixel.temp < 650) { pixel.color = pixelColorPick(pixel,"#d14c47"); var c=0.0001 }
30
+ else if (pixel.temp < 900) { pixel.color = pixelColorPick(pixel,"#e35b56"); var c=0.0004 }
31
+ else if (pixel.temp < 1300) { pixel.color = pixelColorPick(pixel,"#eb6a6a"); var c=0.001 }
32
+ else if (pixel.temp < 1500) { pixel.color = pixelColorPick(pixel,"#f27e7e"); var c=0.0025 }
33
+ else if (pixel.temp < 1700) { pixel.color = pixelColorPick(pixel,"#f58e8e"); var c=0.004 }
34
+ else if (pixel.temp < 2400) { pixel.color = pixelColorPick(pixel,"#f59a9a"); var c=0.007 }
35
+ else if (pixel.temp < 3000) { pixel.color = pixelColorPick(pixel,"#faaaaa"); var c=0.01 }
36
+ else if (pixel.temp < 3600) { pixel.color = pixelColorPick(pixel,"#ffbdbd"); var c=0.015 }
37
+ else if (pixel.temp < 5000) { pixel.color = pixelColorPick(pixel,"#ffd5bd"); var c=0.025 }
38
+ else if (pixel.temp < 6000) { pixel.color = pixelColorPick(pixel,"#ffe7bd"); var c=0.035 } //new in-between state because the transition is too jarring
39
+ else if (pixel.temp < 7000) { pixel.color = pixelColorPick(pixel,"#ffffbd"); var c=0.05 } //most of these are not real because of the kid named Planckian locus, but it makes it more fun
40
+ else if (pixel.temp < 9000) { pixel.color = pixelColorPick(pixel,"#feffd6"); var c=0.07 }
41
+ else if (pixel.temp < 11000) { pixel.color = pixelColorPick(pixel,"#f7fff5"); var c=0.1 }
42
+ else if (pixel.temp < 14000) { pixel.color = pixelColorPick(pixel,"#e3fcfc"); var c=0.125 }
43
+ else if (pixel.temp < 17000) { pixel.color = pixelColorPick(pixel,"#d1f6ff"); var c=0.15 }
44
+ else if (pixel.temp < 20000) { pixel.color = pixelColorPick(pixel,"#d1f0ff"); var c=0.175 }
45
+ else if (pixel.temp < 27000) { pixel.color = pixelColorPick(pixel,"#bde0ff"); var c=0.2 }
46
+ else if (pixel.temp < 34000) { pixel.color = pixelColorPick(pixel,"#bdd3ff"); var c=0.25 }
47
+ else if (pixel.temp < 43500) { pixel.color = pixelColorPick(pixel,"#bdc7ff"); var c=0.3 }
48
+ else if (pixel.temp < 50000) { pixel.color = pixelColorPick(pixel,"#c3bdff"); var c=0.4 }
49
+ else if (pixel.temp < 56000) { pixel.color = pixelColorPick(pixel,"#c3bdff"); var c=0.45 }
50
+ else if (pixel.temp < 61000) { pixel.color = pixelColorPick(pixel,"#bba9fc"); var c=0.5 }
51
+ else if (pixel.temp < 66000) { pixel.color = pixelColorPick(pixel,"#a590f5"); var c=0.6 }
52
+ else if (pixel.temp < 71000) { pixel.color = pixelColorPick(pixel,"#a68af2"); var c=0.7 }
53
+ else { pixel.color = pixelColorPick(pixel,"#a26ffc"); var c=0.8 }
54
+ return c;
55
+ };
56
+
57
+ function starLightAndConduction(pixel,c,whitelist=["sun"]) {
58
+ for (var i = 0; i < adjacentCoords.length; i++) {
59
+ var x = pixel.x+adjacentCoords[i][0];
60
+ var y = pixel.y+adjacentCoords[i][1];
61
+ if (isEmpty(x,y)) {
62
+ if (Math.random() <= c) {
63
+ createPixel("light", x, y);
64
+ pixelMap[x][y].color = pixel.color;
65
+ };
66
+ } else if (!outOfBounds(x,y)) {
67
+ var newPixel = pixelMap[x][y];
68
+ //console.log(whitelist,newPixel.element,whitelist.includes(newPixel.element));
69
+ if (pixel.temp!==newPixel.temp && whitelist.includes(newPixel.element)) {
70
+ var avg = (pixel.temp + newPixel.temp)/2;
71
+ pixel.temp = avg;
72
+ newPixel.temp = avg;
73
+ pixelTempCheck(pixel);
74
+ pixelTempCheck(newPixel);
75
+ }
76
+ }
77
+ }
78
+ };
79
+
80
+ ferromagneticMaterials = ["iron", "cobalt", "nickel", "steel", "hematite"];
81
+
82
+ if(!enabledMods.includes("mods/code_library.js")) {
83
+ //x = real number
84
+ //L = maximum value
85
+ //x_0 = "the x value of the sigmoid midpoint" i.e. the x center of the bendy part
86
+ //k = steepness
87
+ function logisticCurve(x,L,k,x0) {
88
+ return L/( 1 + ( Math.E ** ( -k * (x - x0) ) ) );
89
+ };
90
+
91
+ // https://stackoverflow.com/questions/10756313/javascript-jquery-map-a-range-of-numbers-to-another-range-of-numbers
92
+ // Function from August Miller
93
+ function scale (number, inMin, inMax, outMin, outMax) {
94
+ return (number - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
95
+ };
96
+ };
97
+
98
+ function neutronStarLightAndConduction(pixel,c,whitelist=["neutron_star"]) {
99
+ var pixelAge = pixelTicks - pixel.start;
100
+ var coolingFactor;
101
+ var logistic = logisticCurve(pixelAge/1000, 1, 0.6, -7.7);
102
+ if(pixel.temp > 1000000) {
103
+ //console.log('case 1');
104
+ coolingFactor = logistic
105
+ };
106
+ if(pixel.temp <= 1000000 && pixel.temp > 100000) {
107
+ //console.log('case 2');
108
+ //console.log("l",logistic);
109
+ coolingFactor = scale(pixel.temp,1000000,100000,logistic,0.99999);
110
+ //if(pixelAge % 10 == 0 || pixel.temp < 100500) { console.log(coolingFactor) };
111
+ };
112
+ if(pixel.temp < 100000) {
113
+ //console.log('case 3');
114
+ coolingFactor = 0.99999
115
+ };
116
+ //console.log(coolingFactor);
117
+ pixel.temp = ((pixel.temp + 273.15) * coolingFactor) - 273.15;
118
+
119
+ for (var i = 0; i < adjacentCoords.length; i++) {
120
+ var x = pixel.x+adjacentCoords[i][0];
121
+ var y = pixel.y+adjacentCoords[i][1];
122
+ if (isEmpty(x,y)) {
123
+ if (Math.random() <= c) {
124
+ createPixel(Math.random() < 0.995 ? "light" : "neutron", x, y);
125
+ pixelMap[x][y].color = pixel.color;
126
+ };
127
+ } else if (!outOfBounds(x,y)) {
128
+ var newPixel = pixelMap[x][y];
129
+ //console.log(elements[newPixel.element].conduct);
130
+ if(ferromagneticMaterials.includes(newPixel.element) && (Math.random() < 0.1)) { newPixel.charge = 20 }; //no magnetism in sb
131
+ //console.log(whitelist,newPixel.element,whitelist.includes(newPixel.element));
132
+ if (pixel.temp!==newPixel.temp && whitelist.includes(newPixel.element)) {
133
+ var avg = (pixel.temp + newPixel.temp)/2;
134
+ pixel.temp = avg;
135
+ newPixel.temp = avg;
136
+ pixelTempCheck(pixel);
137
+ pixelTempCheck(newPixel);
138
+ }
139
+ }
140
+ }
141
+ };
142
+
143
+ function almostSun(pixel,lightScale=1,whitelist=["sun"]) {
144
+ starLightAndConduction(pixel,starColor(pixel) * lightScale,whitelist);
145
+ };
146
+
147
+ function nsTick(pixel,lightScale=1,whitelist=["sun"]) {
148
+ neutronStarLightAndConduction(pixel,starColor(pixel) * lightScale,whitelist);
149
+ };
150
+
151
+ elements.sun.tick = function(pixel) {
152
+ almostSun(pixel);
153
+ };
154
+
155
+ //Generalized sedimentation function
156
+
157
+ function sedimentation(pixel,sedimentNeighborTable,finalRock,chance=0.0003) {
158
+ if(Math.random() < chance) {
159
+ var validNeighborArray = Array.apply(null, Array(adjacentCoords.length)).map(function() {return false});
160
+ //sedimentSandstoneTries++;
161
+ for(i = 0; i < adjacentCoords.length; i++) {
162
+ //sedimentSandstoneTryIterations++;
163
+ if(isEmpty(pixel.x+adjacentCoords[i][0],pixel.y+adjacentCoords[i][1],true)) {
164
+ validNeighborArray[i] = false;
165
+ //sedimentSandstoneNoDetects++;
166
+ } else if(!isEmpty(pixel.x+adjacentCoords[i][0],pixel.y+adjacentCoords[i][1],true)) {
167
+ /*if(sedimentNeighborTable.includes(pixelMap[pixel.x+adjacentCoords[i][0]][pixel.y+adjacentCoords[i][1]].element)) {
168
+ validNeighborArray[i] = true;
169
+ //sedimentSandstoneDetects++;
170
+ } else {
171
+ validNeighborArray[i] = false;
172
+ //sedimentSandstoneNoDetects++;
173
+ };*/
174
+ validNeighborArray[i] = sedimentNeighborTable.includes(pixelMap[pixel.x+adjacentCoords[i][0]][pixel.y+adjacentCoords[i][1]].element);
175
+ };
176
+ };
177
+ if(validNeighborArray.includes(true)) {
178
+ //sandstoneFormations++;
179
+ changePixel(pixel,finalRock);
180
+ }/* else {
181
+ sandstoneFailures++;
182
+ }*/;
183
+ };
184
+ };
185
+
186
+ //Function for mass replacement according to an object
187
+
188
+ function transformAround(pixel,range,substitutionObject,reverse=false) {
189
+ var radius1 = (-1 * range);
190
+ var radius2 = (range + 1);
191
+ for (let i = radius1; i < radius2; i++) {
192
+ for (let j = radius1; j < radius2; j++) {
193
+ if(reverse) {
194
+ if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
195
+ var destPixel = pixelMap[pixel.x+j][pixel.y+i];
196
+ var elementToCheck = destPixel.element;
197
+ if(getKeyByValue(radioactiveObject,elementToCheck)) {
198
+ changePixel(destPixel,getKeyByValue(radioactiveObject,elementToCheck));
199
+ };
200
+ };
201
+ } else {
202
+ if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
203
+ var destPixel = pixelMap[pixel.x+j][pixel.y+i];
204
+ var elementToCheck = destPixel.element;
205
+ if(substitutionObject[elementToCheck]) {
206
+ changePixel(destPixel,substitutionObject[elementToCheck]);
207
+ };
208
+ };
209
+ };
210
+ };
211
+ };
212
+ };
213
+
214
+ //Previous function with adjacentPixels
215
+
216
+ function transformAdjacent(pixel,substitutionObject,reverse=false) {
217
+ for(k = 0; k < adjacentCoords.length; k++) {
218
+ var i = adjacentCoords[k][0]
219
+ var j = adjacentCoords[k][1]
220
+ if(reverse) {
221
+ if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
222
+ var destPixel = pixelMap[pixel.x+j][pixel.y+i];
223
+ var elementToCheck = destPixel.element;
224
+ if(getKeyByValue(radioactiveObject,elementToCheck)) {
225
+ changePixel(destPixel,getKeyByValue(radioactiveObject,elementToCheck));
226
+ };
227
+ };
228
+ } else {
229
+ if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
230
+ var destPixel = pixelMap[pixel.x+j][pixel.y+i];
231
+ var elementToCheck = destPixel.element;
232
+ if(substitutionObject[elementToCheck]) {
233
+ changePixel(destPixel,substitutionObject[elementToCheck]);
234
+ };
235
+ };
236
+ };
237
+ };
238
+ };
239
+
240
+ //Cooling rate-varied magma solidification
241
+
242
+ function magmaRateBasedCooling(pixel,freezingPoint,vitriteName,vitriteThreshold,aphaniteName,aphaniteThreshold,phaneriteName) {
243
+ pixel.lastTemperatures ??= [];
244
+ pixel.lastTemperatures.push(pixel.temp); //due to how it's structured, last temp will always equal pixel.temp;
245
+
246
+ while(pixel.lastTemperatures.length > 2) {
247
+ pixel.lastTemperatures.shift();
248
+ };
249
+
250
+ if(pixel.lastTemperatures.length > 1) {
251
+ var overallTemperatureChangeRate = (pixel.temp - pixel.lastTemperatures[0]) / (pixel.lastTemperatures.length - 1);
252
+ //console.log(overallTemperatureChangeRate);
253
+ if(overallTemperatureChangeRate >= 0) {
254
+ return;
255
+ };
256
+ if(pixel.temp > freezingPoint) {
257
+ return;
258
+ };
259
+ //console.log(pixel.x,pixel.y,overallTemperatureChangeRate)
260
+ if(overallTemperatureChangeRate < vitriteThreshold) { //numbers made up
261
+ //console.log("f99fd90");
262
+ changePixel(pixel,vitriteName,false);
263
+ } else if(overallTemperatureChangeRate < aphaniteThreshold) {
264
+ //console.log("aaaaaaaaaa");
265
+ changePixel(pixel,aphaniteName,false);
266
+ } else {
267
+ //console.log("03");
268
+ changePixel(pixel,phaneriteName,false);
269
+ };
270
+ };
271
+ };
272
+
273
+ //Terrain
274
+
275
+ //Soils
276
+
277
+ //Dry
278
+ //Warning: Crippling lack of online information on the properties of the various soils by texture
279
+
280
+ //Clay
281
+
282
+ //Clay exists
283
+
284
+ //Silty clay
285
+
286
+ //TODO
287
+
288
+ //Silty Clay Loam
289
+
290
+ //TODO
291
+
292
+ //Silty Loam
293
+
294
+ //TODO
295
+
296
+ //Silt
297
+
298
+ //TODO
299
+
300
+ //Clay Loam
301
+
302
+ //TODO
303
+ //elements.clay_soil.name = "Clay Loam"
304
+
305
+ //Medium Loam
306
+
307
+ //TODO
308
+ //elements.dirt.name = "Medium Loam";
309
+
310
+ //Sandy Clay
311
+
312
+ /*elements.sandy_clay = {
313
+ color: "#DDCD8A",
314
+ behavior: behaviors.POWDER,
315
+ tempHigh: 1710,
316
+ tempLow: -50,
317
+ stateLow: "sandy_clay_permafrost",
318
+ category:"land",
319
+ state: "solid",
320
+ density: 1220,
321
+ };*/
322
+
323
+ //Sandy Clay Loam
324
+
325
+ //TODO
326
+
327
+ //Sandy Loam
328
+
329
+ //TODO
330
+
331
+ //Loamy Sand
332
+
333
+ //TODO
334
+
335
+ //Sand
336
+
337
+ //Sand exists
338
+
339
+ //Wet
340
+
341
+ //Wet Clay
342
+
343
+ //TODO
344
+
345
+ //Wet Silty clay
346
+
347
+ //TODO
348
+
349
+ //Wet Silty Clay Loam
350
+
351
+ //TODO
352
+
353
+ //Wet Silty Loam
354
+
355
+ //TODO
356
+
357
+ //Wet Silt
358
+
359
+ //TODO
360
+
361
+ //Wet Clay Loam
362
+
363
+ //TODO
364
+
365
+ //Wet Medium Loam
366
+
367
+ //Mud exists
368
+
369
+ //Wet Sandy Clay
370
+
371
+ //TODO
372
+
373
+ //Wet Sandy Clay Loam
374
+
375
+ //TODO
376
+
377
+ //Wet Sandy Loam
378
+
379
+ //TODO
380
+
381
+ //Wet Loamy Sand
382
+
383
+ //TODO
384
+
385
+ //Wet Sand
386
+
387
+ //Wet Sand exists
388
+
389
+ //Permafrost
390
+
391
+ //Clay Permafrost
392
+
393
+ //TODO
394
+
395
+ //Silty clay Permafrost
396
+
397
+ //TODO
398
+
399
+ //Silty Clay Loam Permafrost
400
+
401
+ //TODO
402
+
403
+ //Silty Loam Permafrost
404
+
405
+ //TODO
406
+
407
+ //Silt Permafrost
408
+
409
+ //TODO
410
+
411
+ //Clay Loam Permafrost
412
+
413
+ //TODO
414
+
415
+ //Medium Loam Permafrost
416
+
417
+ //Permafrost exists
418
+
419
+ //Sandy Clay Permafrost
420
+
421
+ //TODO
422
+
423
+ //Sandy Clay Loam Permafrost
424
+
425
+ //TODO
426
+
427
+ //Sandy Loam Permafrost
428
+
429
+ //TODO
430
+
431
+ //Loamy Sand Permafrost
432
+
433
+ //TODO
434
+
435
+ //Sand Permafrost
436
+
437
+ //TODO
438
+
439
+ //Radioactive (unmoved/TODO)
440
+
441
+ //Dry
442
+
443
+ //Radioactive Clay
444
+
445
+ //Clay exists
446
+
447
+ //Radioactive Silty clay
448
+
449
+ //TODO
450
+
451
+ //Radioactive Silty Clay Loam
452
+
453
+ //TODO
454
+
455
+ //Radioactive Silty Loam
456
+
457
+ //TODO
458
+
459
+ //Radioactive Silt
460
+
461
+ //TODO
462
+
463
+ //Radioactive Clay Loam
464
+
465
+ //Clay Soil exists
466
+
467
+ //Radioactive Medium Loam
468
+
469
+ //Dirt exists
470
+
471
+ //Radioactive Sandy Clay
472
+
473
+ //TODO
474
+
475
+ //Radioactive Sandy Clay Loam
476
+
477
+ //TODO
478
+
479
+ //Radioactive Sandy Loam
480
+
481
+ //TODO
482
+
483
+ //Radioactive Loamy Sand
484
+
485
+ //TODO
486
+
487
+ //Radioactive Sand
488
+
489
+ //Sand exists
490
+
491
+ //Wet
492
+
493
+ //Radioactive Wet Clay
494
+
495
+ //TODO
496
+
497
+ //Radioactive Wet Silty clay
498
+
499
+ //TODO
500
+
501
+ //Radioactive Wet Silty Clay Loam
502
+
503
+ //TODO
504
+
505
+ //Radioactive Wet Silty Loam
506
+
507
+ //TODO
508
+
509
+ //Radioactive Wet Silt
510
+
511
+ //TODO
512
+
513
+ //Radioactive Wet Clay Loam
514
+
515
+ //TODO
516
+
517
+ //Radioactive Wet Medium Loam
518
+
519
+ //Mud exists
520
+
521
+ //Radioactive Wet Sandy Clay
522
+
523
+ //TODO
524
+
525
+ //Radioactive Wet Sandy Clay Loam
526
+
527
+ //TODO
528
+
529
+ //Radioactive Wet Sandy Loam
530
+
531
+ //TODO
532
+
533
+ //Radioactive Wet Loamy Sand
534
+
535
+ //TODO
536
+
537
+ //Radioactive Wet Sand
538
+
539
+ //Wet Sand exists
540
+
541
+ //Permafrost
542
+
543
+ //Radioactive Clay Permafrost
544
+
545
+ //TODO
546
+
547
+ //Radioactive Silty clay Permafrost
548
+
549
+ //TODO
550
+
551
+ //Radioactive Silty Clay Loam Permafrost
552
+
553
+ //TODO
554
+
555
+ //Radioactive Silty Loam Permafrost
556
+
557
+ //TODO
558
+
559
+ //Radioactive Silt Permafrost
560
+
561
+ //TODO
562
+
563
+ //Radioactive Clay Loam Permafrost
564
+
565
+ //TODO
566
+
567
+ //Radioactive Medium Loam Permafrost
568
+
569
+ //Permafrost exists
570
+
571
+ //Radioactive Sandy Clay Permafrost
572
+
573
+ //TODO
574
+
575
+ //Radioactive Sandy Clay Loam Permafrost
576
+
577
+ //TODO
578
+
579
+ //Radioactive Sandy Loam Permafrost
580
+
581
+ //TODO
582
+
583
+ //Radioactive Loamy Sand Permafrost
584
+
585
+ //TODO
586
+
587
+ //Radioactive Sand Permafrost
588
+
589
+ //TODO
590
+
591
+ //Rocks
592
+
593
+ //Igneous
594
+
595
+ //Phaneritic
596
+
597
+ //Felsic: granite
598
+
599
+ elements.granite = {
600
+ color: ["#F3C3AD", "#F0AB75", "#DDA888", "#BD927E", "#998473", "#5C5E53", "#BD8366"],
601
+ behavior: behaviors.WALL,
602
+ category: "land",
603
+ state: "solid",
604
+ tempHigh: 1215,
605
+ stateHigh: "felsic_magma",
606
+ density: 2691,
607
+ hardness: 0.75,
608
+ breakInto: "granite_gravel",
609
+ };
610
+
611
+ elements.granite_gravel = {
612
+ color: ["#E3B39D", "#E09B65", "#CD9878", "#AD826E", "#897463", "#4C4E43", "#AD7356", "#F3C3AD", "#F0AB75", "#DDA888", "#BD927E", "#998473", "#5C5E53", "#BD8366", "#FFD3BD", "#FFBB85", "#EDB898", "#CDA28E", "#A99483", "#6C6E63", "#CD9376"],
613
+ behavior: behaviors.POWDER,
614
+ category: "land",
615
+ state: "solid",
616
+ tempHigh: 1215,
617
+ stateHigh: "felsic_magma",
618
+ density: 1320,
619
+ };
620
+
621
+ elements.felsic_magma = {
622
+ "reactions": {
623
+ "magma": { "elem1": "intermediate_magma", "elem2": "intermediate_magma" },
624
+ "ash": { "elem1": null, "elem2": "molten_slag" },
625
+ "dust": { "elem1": null, "elem2": "molten_slag" },
626
+ "foam": { "elem1": "pumice", "elem2": "pumice" },
627
+ },
628
+ tick: function(pixel) {
629
+ magmaRateBasedCooling(pixel,780,"obsidian",-85,"rhyolite",-20,"granite"); //to give rhyolites a chance
630
+ },
631
+ "name": "felsic magma",
632
+ "color": ["#FFF457", "#FF9257", "#FF9200", "#FFD63B", "#FFAB3B", "#FF8000", "#FFD244", "#FFA844", "#FF7E00", "#FFB73F", "#FF923F", "#FF6E00", "#FFA53A", "#FF843A", "#FF6300", "#B8762A", "#B85E2A", "#B84700", "#FFA433", "#FF8333", "#FF6200"],
633
+ "behavior": behaviors.MOLTEN,
634
+ "temp": 1300,
635
+ "tempLow": -Infinity, //cosmetic info
636
+ "stateLow": ["rhyolite","granite","obsidian"],
637
+ "viscosity": 100000000,
638
+ "hidden": true,
639
+ "state": "liquid",
640
+ "category": "molten",
641
+ "density": 2421.9
642
+ };
643
+
644
+ //Intermediate felsic: granodiorite (such a creative name)
645
+
646
+ elements.granodiorite = {
647
+ color: ["#B1AB9D", "#262001", "#A6A292", "#D6C5BC", "#F2F2F2", "#DED8C2", "#978871", "#A8AAA7"], //From image: By Rudolf Pohl - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=7788350
648
+ behavior: behaviors.WALL,
649
+ category: "land",
650
+ state: "solid",
651
+ tempHigh: 1277, //made-up/interpolated from granite and diorite
652
+ stateHigh: "intermediate_felsic_magma",
653
+ density: 2644, //last 2 digits made up again
654
+ hardness: 0.75,
655
+ breakInto: "granodiorite_gravel",
656
+ };
657
+
658
+ elements.granodiorite_gravel = {
659
+ color: ["#A19B8D", "#161000", "#969282", "#C6B5AC", "#E2E2E2", "#CEC8B2", "#877861", "#989A97", "#B1AB9D", "#262001", "#A6A292", "#D6C5BC", "#F2F2F2", "#DED8C2", "#978871", "#A8AAA7", "#C1BBAD", "#363011", "#B6B2A2", "#E6D5CC", "#FFFFFF", "#EEE8D2", "#A79881", "#B8BAB7"], //placeholder
660
+ behavior: behaviors.POWDER,
661
+ category: "land",
662
+ state: "solid",
663
+ tempHigh: 1277,
664
+ stateHigh: "intermediate_felsic_magma",
665
+ density: 1296,
666
+ };
667
+
668
+ elements.intermediate_felsic_magma = {
669
+ "reactions": {
670
+ "magma": { "elem1": "intermediate_magma", "elem2": "intermediate_magma" },
671
+ "ash": { "elem1": null, "elem2": "molten_slag" },
672
+ "dust": { "elem1": null, "elem2": "molten_slag" },
673
+ "foam": { "elem1": "intermediate_pumice", "elem2": "intermediate_pumice" },
674
+ },
675
+ tick: function(pixel) {
676
+ magmaRateBasedCooling(pixel,1020,vitreousInterfelsicName,-95,"dacite",-23,"granodiorite");
677
+ },
678
+ "name": "intermediate felsic magma",
679
+ "color": ["#FFD64F", "#FFAB4F", "#FF8000", "#7C5831", "#7C5031", "#7C5830", "#FFCB49", "#FFA249", "#FF7A00", "#FFF65E", "#FFC55E", "#FF9400", "#FFFF79", "#FFF279", "#FFB600", "#FFFF61", "#FFD861", "#FFA200", "#FFAA39", "#FF8839", "#FF6600", "#FFD554", "#FFAA54", "#FF8000"],
680
+ "behavior": behaviors.MOLTEN,
681
+ "temp": 1200,
682
+ "tempLow": -Infinity,
683
+ "stateLow": ["dacite","granodiorite",vitreousInterfelsicName],
684
+ "viscosity": 18700000, //10^average of logarithms
685
+ "hidden": true,
686
+ "state": "liquid",
687
+ "category": "molten",
688
+ "density": 2320, //averaged lower values
689
+ };
690
+
691
+ //Intermediate: diorite
692
+
693
+ elements.diorite = {
694
+ color: ["#E1E1E1","#B0A696","#707271","#434459","#242424"], //Extracted from image and blended
695
+ //By Michael C. Rygel - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=31124755
696
+ behavior: behaviors.WALL,
697
+ category: "land",
698
+ state: "solid",
699
+ tempHigh: 1300,
700
+ stateHigh: "intermediate_magma",
701
+ density: 2822, //last 2 digits made up.
702
+ hardness: 0.70, //bs'd from MH rel to granite
703
+ breakInto: "diorite_gravel",
704
+ };
705
+
706
+ elements.diorite_gravel = {
707
+ color: ["#F1F1F1","#E1E1E1","#D1D1D1","#C0B6A6","#B0A696","#A09686","#808281","#707271","#606261","#535469","#434459","#333449","#343434","#242424","#141414"],
708
+ behavior: behaviors.POWDER,
709
+ category: "land",
710
+ state: "solid",
711
+ tempHigh: 1260,
712
+ stateHigh: "intermediate_magma",
713
+ density: 1717, //approximated from granite values
714
+ };
715
+
716
+ elements.intermediate_magma = {
717
+ "reactions": {
718
+ "ash": { "elem1": null, "elem2": "molten_slag" },
719
+ "dust": { "elem1": null, "elem2": "molten_slag" },
720
+ "foam": { "elem1": "scoria", "elem2": "scoria" },
721
+ },
722
+ "name": "intermediate magma",
723
+ "color": ["#FFFF70", "#FFE170", "#FFA800", "#FFCF4B", "#FFA64B", "#FF7C00", "#E08E38", "#E07238", "#E05500", "#86552C", "#86442C", "#863300", "#482D12", "#482412", "#481B00"],
724
+ "behavior": behaviors.MOLTEN,
725
+ tick: function(pixel) {
726
+ magmaRateBasedCooling(pixel,1065,vitreousIntermediateName,-105,"andesite",-26,"diorite");
727
+ },
728
+ "temp": 1215,
729
+ "tempLow": -Infinity,
730
+ "stateLow": ["andesite","diorite",vitreousIntermediateName],
731
+ "viscosity": 350000,
732
+ "hidden": true,
733
+ "state": "liquid",
734
+ "category": "molten",
735
+ "density": 2450,
736
+ }
737
+
738
+ //Mafic: gabbro
739
+
740
+ elements.rock.name = "gabbro";
741
+ elements.rock.tempHigh = 1474;
742
+ elements.rock.density = 3300;
743
+ elements.rock.breakInto = ["gravel"];
744
+ elements.magma.name = "mafic magma";
745
+ elements.magma.density = 2650;
746
+ elements.magma.tick = function(pixel) {
747
+ magmaRateBasedCooling(pixel,1180,vitreousMaficName,-115,"basalt",-29,"rock");
748
+ };
749
+ elements.magma.tempLow = -Infinity;
750
+ elements.magma.stateLow = ["basalt","gabbro",vitreousMaficName]
751
+ elements.magma.reactions ??= {};
752
+ elements.magma.reactions.foam = { "elem1": "mafic_scoria", "elem2": "mafic_scoria" };
753
+
754
+ //Ultramafic: peridotite
755
+
756
+ elements.peridotite = {
757
+ color: ["#908557","#A29E78","#7F8044","#C6BC87","#8C8656","#7C7C40","#837840","#8B8B69"],
758
+ behavior: behaviors.WALL,
759
+ category: "land",
760
+ state: "solid",
761
+ tempHigh: 1400,
762
+ stateHigh: "ultramafic_magma",
763
+ density: 3347, //appr from https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/GL003i009p00509#:~:text=Abstract,and%20the%20bulk%20rock%20analyses.
764
+ hardness: 0.76,
765
+ breakInto: "peridotite_gravel",
766
+ };
767
+
768
+ elements.peridotite_gravel = {
769
+ color: ["#807547","#928e68","#6f7034","#b6ac77","#7c7646","#6c6c30","#736830","#7b7b59","#908557","#a29e78","#7f8044","#c6bc87","#8c8656","#7c7c40","#837840","#8b8b69","#a09567","#b2ae88","#8f9054","#d6cc97","#9c9666","#8c8c50","#938850","#9b9b79"],
770
+ behavior: behaviors.POWDER,
771
+ category: "land",
772
+ state: "solid",
773
+ tempHigh: 1400,
774
+ stateHigh: "ultramafic_magma",
775
+ density: 1681,
776
+ };
777
+
778
+ elements.ultramafic_magma = {
779
+ "reactions": {
780
+ "ash": { "elem1": null, "elem2": "molten_slag" },
781
+ "dust": { "elem1": null, "elem2": "molten_slag" },
782
+ },
783
+ "name": "ultramafic magma",
784
+ "color": ["#ffa62b","#ff852b","#ff6300","#ffc53c","#ff9e3c","#ff7600","#fea022","#fe8022","#fe6000","#ffeb43","#ffbc43","#ff8d00","#ffa72b","#ff862b","#ff6400","#f89b20","#f87c20","#f85d00","#ff9620","#ff7820","#ff5a00","#ffad34","#ff8b34","#ff6800"],
785
+ "behavior": behaviors.MOLTEN,
786
+ tick: function(pixel) {
787
+ magmaRateBasedCooling(pixel,1280,vitreousUltramaficName,-125,"komatiite",-32,"peridotite");
788
+ },
789
+ "temp": 1500,
790
+ "tempLow": -Infinity,
791
+ "stateLow": ["komatiite","peridotite",vitreousUltramaficName],
792
+ "viscosity": 100,
793
+ "hidden": true,
794
+ "state": "liquid",
795
+ "category": "molten",
796
+ "density": 2800
797
+ };
798
+
799
+ //Aphanitic
800
+
801
+ //Felsic: rhyolite
802
+
803
+ elements.rhyolite = {
804
+ color: ["#A67153","#BF967E","#D9B5A0","#8C533E","#C99F86","#C5997E","#BB8A69"],
805
+ // also from one of Michael C. Rygel's images
806
+ behavior: behaviors.WALL,
807
+ category: "land",
808
+ state: "solid",
809
+ tempHigh: 800,
810
+ stateHigh: "felsic_magma",
811
+ density: 2555, //very wide range
812
+ hardness: 0.75,
813
+ breakInto: "rhyolite_gravel",
814
+ };
815
+
816
+ elements.rhyolite_gravel = {
817
+ color: ["#B68163","#A67153","#966143","#CFA68E","#BF967E","#AF866E","#E9C5B0","#D9B5A0","#C9A590","#9C634E","#8C533E","#7C432E","#D9AF96","#C99F86","#B98F76","#D5A98E","#C5997E","#B5896E","#CB9A79","#BB8A69","#DB7A59"],
818
+ behavior: behaviors.POWDER,
819
+ category: "land",
820
+ state: "solid",
821
+ tempHigh: 800,
822
+ stateHigh: "felsic_magma",
823
+ density: 1254, //approximated from granite values
824
+ };
825
+
826
+ //Intermediate felsic: dacite
827
+
828
+ elements.dacite = {
829
+ color: ["#D9CCC5", "#F2E9E4", "#877670", "#A69B97"],
830
+ behavior: behaviors.WALL,
831
+ category: "land",
832
+ state: "solid",
833
+ tempHigh: 1050,
834
+ stateHigh: "intermediate_felsic_magma",
835
+ density: 2654, //https://books.google.ca/books?id=ObUPAAAAIAAJ&pg=PA181&lpg=PA181&dq=dacite+specific+gravity&source=bl&ots=qn8B4sirWi&sig=Wp_MHqPuUGPNQobcuNP5c5wqkpU&hl=en&sa=X&ei=cimtUaH8Eab7yAH8joDABQ#v=onepage&q=dacite%20specific%20gravity&f=false
836
+ hardness: 0.75,
837
+ breakInto: "dacite_gravel",
838
+ };
839
+
840
+ elements.dacite_gravel = {
841
+ color: ["#C9BCB5", "#E2D9D4", "#776660", "#968B87", "#D9CCC5", "#F2E9E4", "#877670", "#A69B97", "#E9DCD5", "#FFF9F4", "#978680", "#B6ABA7"], //placeholder
842
+ behavior: behaviors.POWDER,
843
+ category: "land",
844
+ state: "solid",
845
+ tempHigh: 1050,
846
+ stateHigh: "intermediate_felsic_magma",
847
+ density: 1300,
848
+ };
849
+
850
+ //Intermediate: andesite
851
+
852
+ elements.andesite = {
853
+ color: ["#6F7575", "#C5C9CB", "#818787", "#797F7F", "#B5B9BA", "#6D7371", "#909696"],
854
+ behavior: behaviors.WALL,
855
+ category: "land",
856
+ state: "solid",
857
+ tempHigh: 1215,
858
+ stateHigh: "intermediate_magma",
859
+ density: 2474, //it varies very widely, so I made the last 2 digits up.
860
+ hardness: 0.75,
861
+ breakInto: "andesite_gravel",
862
+ };
863
+
864
+ elements.andesite_gravel = {
865
+ color: ['#5f6565', '#b5b9bb', '#717777', '#696f6f', '#a5a9aa', '#5d6361', '#808686', '#6f7575', '#c5c9cb', '#818787', '#797f7f', '#b5b9ba', '#6d7371', '#909696', '#7f8585', '#d5d9db', '#919797', '#898f8f', '#c5c9ca', '#7d8381', '#a0a6a6'],
866
+ behavior: behaviors.POWDER,
867
+ category: "land",
868
+ state: "solid",
869
+ tempHigh: 1260,
870
+ stateHigh: "intermediate_magma",
871
+ density: 1214, //approximated from granite values
872
+ };
873
+
874
+ //Mafic: basalt
875
+
876
+ elements.basalt.tempHigh = 1122;
877
+ elements.basalt.density = 2949;
878
+
879
+ //Ultramafic: komatiite
880
+
881
+ elements.komatiite = {
882
+ color: ["#AEB5AE","#A9B8B5","#7B8881","#858B87","#949F97","#505B55"],
883
+ behavior: behaviors.WALL,
884
+ category: "land",
885
+ state: "solid",
886
+ tempHigh: 1600,
887
+ stateHigh: "ultramafic_magma",
888
+ density: 3100, //approximate density extrapolated from intermediate and mafic density
889
+ //the magma's density is more well-known but there's nothing on the solid rock (probably because it's so rare and often metamorphosed)
890
+ hardness: 0.75,
891
+ breakInto: "komatiite_gravel",
892
+ };
893
+
894
+ elements.komatiite_gravel = {
895
+ color: ["#9ea59e","#99a8a5","#6b7871","#757b77","#848f87","#404b45","#aeb5ae","#a9b8b5","#7b8881","#858b87","#949f97","#505b55","#bec5be","#b9c8c5","#8b9891","#959b97","#a4afa7","#606b65"],
896
+ behavior: behaviors.POWDER,
897
+ category: "land",
898
+ state: "solid",
899
+ tempHigh: 1600,
900
+ stateHigh: "ultramafic_magma",
901
+ density: 1650, //approximated from granite values
902
+ };
903
+
904
+ //Vesicular
905
+
906
+ //Felsic: pumice
907
+
908
+ elements.pumice = {
909
+ color: ["#ebe1c3", "#ada386", "#f0bd9e", "#ab846c", "#bfbebd", "#75726f", "#f5e595", "#ab9e60", "#ad683d", "#633d25", "#6e6d6d", "#3b3a39"],
910
+ behavior: behaviors.WALL,
911
+ category: "land",
912
+ state: "solid",
913
+ tempHigh: 1350,
914
+ stateHigh: "felsic_magma",
915
+ density: 641,
916
+ hardness: 0.7,
917
+ breakInto: "pumice_gravel",
918
+ };
919
+
920
+ elements.pumice_gravel = {
921
+ color: ["#f6f3e9","#e8dfc5","#d9cba0","#bfb9a6","#a9a189","#948a6b","#f3dccd","#eabfa4","#e0a27b","#baa191","#a78672","#8d6d58","#dad8d8","#c1bfbe","#a8a5a4","#908d89","#76736f","#5c5a57","#f5eec6","#eee09b","#e7d36f","#b7af85","#a49a65","#877e4f","#bd8461","#a56a45","#815336","#83563a","#603f2a","#3c271a","#575552","#3c3b39","#222120","#3c3b39","#222120","#080807"],
922
+ behavior: behaviors.POWDER,
923
+ category: "land",
924
+ state: "solid",
925
+ tempHigh: 1350,
926
+ stateHigh: "felsic_magma",
927
+ density: 2080,
928
+ };
929
+
930
+ //Intermediate felsic: ???
931
+
932
+ elements.intermediate_pumice = {
933
+ color: ["#dbd4bd", "#b5ad94", "#e3ceb6", "#bda891", "#c2c2c2", "#a1a1a1", "#e6c8a1", "#b8a48c"],
934
+ behavior: behaviors.WALL,
935
+ category: "land",
936
+ state: "solid",
937
+ tempHigh: 1190,
938
+ stateHigh: "intermediate_felsic_magma",
939
+ density: 991, //110% made-up
940
+ hardness: 0.7,
941
+ breakInto: "intermediate_pumice_gravel",
942
+ };
943
+
944
+ elements.intermediate_pumice_gravel = {
945
+ color: ["#e3ddc8", "#b0aa99", "#e6d4c1", "#c9b7a3", "#cfcccc", "#919191", "#e0ceb6", "#b0a292"],
946
+ behavior: behaviors.POWDER,
947
+ category: "land",
948
+ state: "solid",
949
+ tempHigh: 1190,
950
+ stateHigh: "intermediate_felsic_magma",
951
+ density: 2213, //see above
952
+ };
953
+
954
+ //Intermediate: scoria
955
+
956
+ elements.scoria = {
957
+ color: ["#594545", "#573b31", "#522e28"],
958
+ behavior: behaviors.WALL,
959
+ category: "land",
960
+ state: "solid",
961
+ tempHigh: 1085,
962
+ stateHigh: "intermediate_magma",
963
+ density: 2550,
964
+ hardness: 0.68,
965
+ breakInto: "scoria_gravel",
966
+ };
967
+
968
+ elements.scoria_gravel = {
969
+ color: ["#665e5e", "#454343", "#694d47", "#523731", "#57322d", "#3b221e"],
970
+ behavior: behaviors.POWDER,
971
+ category: "land",
972
+ state: "solid",
973
+ tempHigh: 1085,
974
+ stateHigh: "intermediate_magma",
975
+ density: 2790, //https://www.astm.org/gtj12675.html#:~:text=Particle%20density%20was%20found%20to,a%2074%2D%C2%B5m%20sieve).
976
+ };
977
+
978
+ //Mafic: still scoria
979
+
980
+ elements.mafic_scoria = {
981
+ color: ["#756666", "#695751", "#737272"],
982
+ behavior: behaviors.WALL,
983
+ category: "land",
984
+ state: "solid",
985
+ tempHigh: 1298, //Density and melting point provided by ChatGPT
986
+ stateHigh: "magma",
987
+ density: 2717,
988
+ hardness: 0.7,
989
+ breakInto: "mafic_scoria_gravel",
990
+ };
991
+
992
+ elements.mafic_scoria_gravel = {
993
+ color: ["#807a7a", "#665e5e", "#82716c", "#635652", "#8a8a8a", "#636161"],
994
+ behavior: behaviors.POWDER,
995
+ category: "land",
996
+ state: "solid",
997
+ tempHigh: 1298,
998
+ stateHigh: "magma",
999
+ density: 2993, //https://www.astm.org/gtj12675.html#:~:text=Particle%20density%20was%20found%20to,a%2074%2D%C2%B5m%20sieve).
1000
+ };
1001
+
1002
+ //Ultramafic: ???
1003
+
1004
+ elements.ultramafic_scoria = {
1005
+ color: ["#737565", "#7a7761", "#727372"],
1006
+ behavior: behaviors.WALL,
1007
+ category: "land",
1008
+ state: "solid",
1009
+ tempHigh: 1400, //Density and melting point provided by ChatGPT
1010
+ stateHigh: "ultramafic_magma",
1011
+ density: 2924,
1012
+ hardness: 0.7,
1013
+ breakInto: "ultramafic_scoria_gravel",
1014
+ };
1015
+
1016
+ elements.ultramafic_scoria_gravel = {
1017
+ color: ["#85877a", "#5b5c50", "#87846b", "#61694f", "#7e807e", "#5c5e5c"],
1018
+ behavior: behaviors.POWDER,
1019
+ category: "land",
1020
+ state: "solid",
1021
+ tempHigh: 1400,
1022
+ stateHigh: "ultramafic_magma",
1023
+ density: 3132,
1024
+ };
1025
+
1026
+ //Vitreous
1027
+
1028
+ //Felsic: obsidian
1029
+
1030
+ elements.obsidian = {
1031
+ color: ["#252422", "#171616", "#161915", "#161018"],
1032
+ behavior: behaviors.WALL,
1033
+ tempHigh: 1000,
1034
+ stateHigh: "felsic_magma",
1035
+ category: "land",
1036
+ state: "solid",
1037
+ density: 2488, //2.35-2.6
1038
+ breakInto: "obsidian_shard",
1039
+ };
1040
+
1041
+ elements.obsidian_shard = {
1042
+ color: ["#363330","#231f1a","#272121","#161313","#22281f","#131712","#211924","#100c13"],
1043
+ behavior: behaviors.POWDER,
1044
+ tempHigh: 1000,
1045
+ stateHigh: "felsic_magma",
1046
+ category: "land",
1047
+ state: "solid",
1048
+ density: 2313, //made-up
1049
+ },
1050
+
1051
+ //Intermediate felsic: ???
1052
+
1053
+ elements[vitreousInterfelsicName] = {
1054
+ color: ["#4f4b42", "#474646", "#4a4d49", "#342f36"],
1055
+ behavior: behaviors.WALL,
1056
+ tempHigh: 1040, //All vitrites past obsidian have ChatGPT tempHighs and densities
1057
+ stateHigh: "intermediate_felsic_magma",
1058
+ category: "land",
1059
+ state: "solid",
1060
+ density: 2640,
1061
+ breakInto: vitreousInterfelsicName + "_shard",
1062
+ };
1063
+
1064
+ elements[vitreousInterfelsicName + "_shard"] = {
1065
+ color: ["#69645b", "#454139", "#5c5b5b", "#424040", "#5e615d", "#454745", "#4d474f", "#39363b"],
1066
+ behavior: behaviors.POWDER,
1067
+ tempHigh: 1040,
1068
+ stateHigh: "intermediate_felsic_magma",
1069
+ category: "land",
1070
+ state: "solid",
1071
+ density: 2401,
1072
+ },
1073
+
1074
+ //Intermediate: ???
1075
+
1076
+ elements[vitreousIntermediateName] = {
1077
+ color: ["#636059", "#707070", "#5f615f", "#504b52"],
1078
+ behavior: behaviors.WALL,
1079
+ tempHigh: 1085,
1080
+ stateHigh: "intermediate_magma",
1081
+ category: "land",
1082
+ state: "solid",
1083
+ density: 2710,
1084
+ breakInto: vitreousIntermediateName + "_shard",
1085
+ };
1086
+
1087
+ elements[vitreousIntermediateName + "_shard"] = {
1088
+ color: ["#7d7972", "#59554e", "#757474", "#575656", "#7b7d7a", "#5a5c5a", "#69646b", "#4f4b52"],
1089
+ behavior: behaviors.POWDER,
1090
+ tempHigh: 1085,
1091
+ stateHigh: "intermediate_magma",
1092
+ category: "land",
1093
+ state: "solid",
1094
+ density: 2482,
1095
+ },
1096
+
1097
+ //Mafic: ???
1098
+
1099
+ elements[vitreousMaficName] = {
1100
+ color: ["#6e615d", "#706767", "#6a6b63", "#6e5e68"],
1101
+ behavior: behaviors.WALL,
1102
+ tempHigh: 1200,
1103
+ stateHigh: "magma",
1104
+ category: "land",
1105
+ state: "solid",
1106
+ density: 2900,
1107
+ breakInto: vitreousMaficName + "_shard",
1108
+ };
1109
+
1110
+ elements[vitreousMaficName + "_shard"] = {
1111
+ color: ["#887b77","#5d5351","#8b8484","#5f5959","#82837c","#595954","#887782","#5d5158"],
1112
+ behavior: behaviors.POWDER,
1113
+ tempHigh: 1200,
1114
+ stateHigh: "magma",
1115
+ category: "land",
1116
+ state: "solid",
1117
+ density: 2777,
1118
+ },
1119
+
1120
+ //Ultramafic: ???
1121
+
1122
+ elements[vitreousUltramaficName] = {
1123
+ color: ["#6e6d5e", "#626659", "#54574b", "#665d55"],
1124
+ behavior: behaviors.WALL,
1125
+ tempHigh: 1300,
1126
+ stateHigh: "ultramafic_magma",
1127
+ category: "land",
1128
+ state: "solid",
1129
+ density: 3200,
1130
+ breakInto: vitreousUltramaficName + "_shard",
1131
+ };
1132
+
1133
+ elements[vitreousUltramaficName + "_shard"] = {
1134
+ color: ["#888777","#5d5c51","#787c6e","#51544a","#696c60","#474941","#7f756c","#554f49"],
1135
+ behavior: behaviors.POWDER,
1136
+ tempHigh: 1300,
1137
+ stateHigh: "ultramafic_magma",
1138
+ category: "land",
1139
+ state: "solid",
1140
+ density: 2998,
1141
+ },
1142
+
1143
+
1144
+ //Sedimentary
1145
+
1146
+ //Chemical
1147
+
1148
+ //Clastic
1149
+
1150
+ //Grains < 1/16 mm
1151
+
1152
+ //Grains 1/16-2 mm
1153
+ //Partly intermingled with the radiation cult
1154
+
1155
+ //Dummied-out debug counters
1156
+
1157
+ /*sedimentSandstoneTries = 0;
1158
+ sedimentSandstoneTryIterations = 0;
1159
+ sedimentSandstoneDetects = 0;
1160
+ sedimentSandstoneNoDetects = 0;
1161
+ sandstoneFormations = 0;
1162
+ sandstoneFailures = 0;*/
1163
+
1164
+ //Elements from which simplified lithification can spread
1165
+
1166
+ sandstoneLithificationElements = ["sand_sediment", "sandstone", "radioactive_sand_sediment", "radioactive_sandstone"/*, "crimson_sandstone", "crimson_sand_sediment"*/]
1167
+
1168
+ //Water reaction to pick up the fine material (this is very simplified)
1169
+
1170
+ elements.water.reactions.wet_sand = {
1171
+ "elem1": "sandy_water",
1172
+ "elem2": ["wet_sand","wet_sand","wet_sand","sandy_water"],
1173
+ chance: 0.01
1174
+ };
1175
+
1176
+ elements.water.reactions.radioactive_wet_sand = {
1177
+ "elem1": "radioactive_sandy_water",
1178
+ "elem2": ["radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand",null],
1179
+ chance: 0.01
1180
+ };
1181
+
1182
+ /*elements.water.reactions.crimson_wet_sand = { /
1183
+ "elem1": "crimson_sandy_water",
1184
+ "elem2": ["crimson_wet_sand","crimson_wet_sand","crimson_wet_sand","crimson_wet_sand","crimson_wet_sand",null],
1185
+ chance: 0.01
1186
+ };*/
1187
+
1188
+ //Sediment suspension
1189
+
1190
+ elements.sandy_water = {
1191
+ color: ["#768485", "#849294"],
1192
+ behavior: behaviors.LIQUID,
1193
+ tempHigh: 100,
1194
+ stateHigh: ["steam","steam","sand"],
1195
+ //tempLow: 0,
1196
+ //stateLow: "sandy_ice",
1197
+ category: "liquids",
1198
+ heatCapacity: 4.184, //unimplemented
1199
+ reactions: {
1200
+ "dirt": { // React with (water reacts with dirt to make mud)
1201
+ "elem1": [null,null,"wet_sand"], // First element transforms into; in this case, water deletes itself
1202
+ "elem2": "mud", // Second element transforms into; in this case, dirt turns to mud
1203
+ },
1204
+ "water": { "elem1":"water", "elem2":"sandy_water", "chance":0.025 }, //swap reaction
1205
+ "sand": { "elem1": [null,null,"wet_sand"], "elem2": "wet_sand", },
1206
+ "sandy_water": { "elem1":"water", "elem2":"sand_sediment", "chance": 0.001 },
1207
+ "wet_sand": { "elem1": "water", "elem2":"sand_sediment", "chance": 0.0005 },
1208
+ //"salt": { "elem1": "salt_water", "elem2": null },
1209
+ //"sugar": { "elem1": "sugar_water", "elem2": null, },
1210
+ "dust": { "elem1": "dirty_water", "elem2": null, },
1211
+ "ash": { "elem1": "dirty_water", "elem2": null, },
1212
+ "cyanide": { "elem1": "dirty_water", "elem2": null, },
1213
+ //"carbon_dioxide": { "elem1": "seltzer", "elem2": null, "oneway":true },
1214
+ "sulfur": { "elem1": "dirty_water", "elem2": null, },
1215
+ "rat": { "elem1": "dirty_water", chance:0.005 },
1216
+ "plague": { "elem1": "dirty_water", "elem2": null, },
1217
+ "rust": { "elem1": "dirty_water", chance:0.005 },
1218
+ "fallout": { "elem1": "dirty_water", chance:0.25 },
1219
+ "radiation": { "elem1": "dirty_water", chance:0.25 },
1220
+ "uranium": { "elem1": "dirty_water", chance:0.25 },
1221
+ "rotten_meat": { "elem1": "dirty_water", chance:0.25 },
1222
+ "quicklime": { "elem1": [null,null,"wet_sand"], "elem2": "slaked_lime", },
1223
+ "rock": { "elem2": "wet_sand", "chance": 0.00035 },
1224
+ "ruins": { "elem2": "rock", "chance": 0.00035 },
1225
+ "mudstone": { "elem2": "mud", "chance": 0.00035 },
1226
+ //"methane": { "elem1":"primordial_soup", "elem2":"primordial_soup", tempMin:60, charged:true },
1227
+ //"ammonia": { "elem1":"primordial_soup", "elem2":"primordial_soup", tempMin:60, charged:true },
1228
+ "fly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1229
+ "firefly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1230
+ "bee": { "elem2":"dead_bug", "chance":0.05, "oneway":true },
1231
+ "stink_bug": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1232
+ },
1233
+ state: "liquid",
1234
+ density: 1097,
1235
+ conduct: 0.02,
1236
+ stain: 0.01,
1237
+ }
1238
+
1239
+ //Sediment element where lithification code resides
1240
+
1241
+ elements.sand_sediment = {
1242
+ hidden: true,
1243
+ color: "#d3b387",
1244
+ hardness: 0.2,
1245
+ behavior: [
1246
+ "XX|XX|XX",
1247
+ "XX|XX|XX",
1248
+ "SW:wet_sand%1.5 AND M2|SW:wet_sand%2.5 AND M1|SW:wet_sand%1.5 AND M2"
1249
+ ],
1250
+ reactions: {
1251
+ "water": { "elem1":"sandy_water", "elem2":"sandy_water", "chance":0.001 },
1252
+ "sand": { "elem1": [null,null,"wet_sand"], "elem2": "wet_sand", },
1253
+ "sandy_water": { "elem1":["water","water","sand_sediment"], "chance":0.001 },
1254
+ "wet_sand": { "elem2": "sand_sediment", "chance": 0.0005 },
1255
+ },
1256
+ tempHigh: 1700,
1257
+ stateHigh: "molten_glass",
1258
+ category: "land",
1259
+ state: "solid",
1260
+ state: "solid",
1261
+ density: 1602,
1262
+ breakInto: "sand",
1263
+ tick: function(pixel) {
1264
+ sedimentation(pixel,sandstoneLithificationElements,"sandstone")
1265
+ },
1266
+ }
1267
+
1268
+ //Reactions to add
1269
+
1270
+ elements.wet_sand.reactions.sand_sediment = {
1271
+ elem1: "sand_sediment",
1272
+ chance: 0.0003
1273
+ };
1274
+
1275
+ elements.wet_sand.reactions.wet_sand = {
1276
+ elem1: "sand_sediment",
1277
+ chance: 0.0003
1278
+ };
1279
+
1280
+ //Final rock
1281
+
1282
+ elements.sandstone = {
1283
+ color: ["#b27853", "#d1a784", "#d1a784", "#d4996e"],
1284
+ behavior: behaviors.WALL,
1285
+ tempHigh: 1500,
1286
+ stateHigh: "molten_glass",
1287
+ category: "land",
1288
+ state: "solid",
1289
+ state: "solid",
1290
+ density: 2323, //wide range
1291
+ hardness: 0.5,
1292
+ breakInto: "sand",
1293
+ }
1294
+
1295
+ //Worldgen preset for testing
1296
+
1297
+ worldgentypes.sandstone_test_ocean = {
1298
+ layers: [
1299
+ [0.9, "wet_sand", 0.2],
1300
+ [0.9, "sand", 0.2],
1301
+ [0.8, "sandy_water", 0.7],
1302
+ [0.25, "water"],
1303
+ [0.1, "sand", 0.1],
1304
+ [0.1, "clay", 0.1],
1305
+ [0.1, "gravel", 0.2],
1306
+ [0.1, "wet_sand"],
1307
+ [0.03, "gravel", 0.5],
1308
+ [0.03, "rock"],
1309
+ [0, "basalt"],
1310
+ ]
1311
+ };
1312
+
1313
+ //Changes to vanilla desert
1314
+
1315
+ worldgentypes.desert = {
1316
+ layers: [
1317
+ [0.95, "gravel", 0.6],
1318
+ [0.65, "bone", 0.03],
1319
+ [0.65, "sand"],
1320
+ [0.55, "bone", 0.02],
1321
+ [0.3, "sandstone"],
1322
+ [0.05, "rock"],
1323
+ [-0.78, "basalt"]
1324
+ ],
1325
+ temperature: 38
1326
+ };
1327
+
1328
+ //Grains > 2 mm
1329
+
1330
+ //Angular fragments
1331
+
1332
+ //Breccia
1333
+
1334
+ //Rounded fragments
1335
+
1336
+ //Conglomerate
1337
+
1338
+ //Gems
1339
+ //There is a mineral classification scheme, but it will take a while to implement if I ever get around to it.
1340
+ //We're assuming that the crystal structures reform properly because I don't want to have to research and implement refrozen amorphous forms.
1341
+
1342
+ //Emerald
1343
+
1344
+ elements.emerald = {
1345
+ color: ["#31e31e", "#88fa5a", "#28d419", "#54e823", "#64f235"],
1346
+ tempHigh: 1287,
1347
+ //1: I can't be arsed to find out what happens to emerald in extreme heat. Apparently, neither can anyone else, and Google is useless for this.
1348
+ //2: So I'm just assuming that the chromium impurities are polite and remain in solution with the molten beryl.
1349
+ behavior: behaviors.POWDER,
1350
+ category: "powders",
1351
+ state: "solid",
1352
+ density: 2710, //within natural variation
1353
+ hardness: 0.8, //Mohs scaled to diamond
1354
+ };
1355
+
1356
+ //Amethyst
1357
+
1358
+ elements.amethyst = {
1359
+ color: ["#c569e0", "#bd43e0", "#e37aeb", "#ab2fe0", "#b05bd4", "#9b2cdb"],
1360
+ tempHigh: 1650,
1361
+ //1: Gee, another quartz-like...
1362
+ //2: Like with emerald, I'm trusting the impurities to stay dissolved because I don't exactly have any amethyst laying around to melt.
1363
+ behavior: behaviors.POWDER,
1364
+ category: "powders",
1365
+ state: "solid",
1366
+ density: 2650,
1367
+ hardness: 0.7,
1368
+ };
1369
+
1370
+ //Sapphire
1371
+
1372
+ elements.sapphire = {
1373
+ color: ["#2d43e3", "#4d5fe3", "#1f30cc", "#375fdb", "#2d39e3"],
1374
+ tempHigh: 2040,
1375
+ //1: You can actually grow corundum-based gems through the Verneuil process
1376
+ behavior: behaviors.POWDER,
1377
+ category: "powders",
1378
+ state: "solid",
1379
+ density: 3980,
1380
+ hardness: 0.9,
1381
+ }
1382
+
1383
+ //Ruby
1384
+
1385
+ elements.ruby = {
1386
+ //Corundum with different impurities, so I can copy/paste everything but the color
1387
+ color: ["#ff1222", "#ff4545", "#e30b13", "#fa253b", "#f2120f"],
1388
+ tempHigh: 2040,
1389
+ behavior: behaviors.POWDER,
1390
+ category: "powders",
1391
+ state: "solid",
1392
+ density: 3980,
1393
+ hardness: 0.9,
1394
+ }
1395
+
1396
+ //Topaz
1397
+
1398
+ elements.topaz = {
1399
+ color: ["#f7f431", "#ffff5c", "#f7e048", "#fae43e", "#fff86e", "#ede321"],
1400
+ tempHigh: 1340,
1401
+ stateHigh: "mullite", //thermal decomposition
1402
+ behavior: behaviors.POWDER,
1403
+ category: "powders",
1404
+ state: "solid",
1405
+ density: 3500,
1406
+ hardness: 0.8,
1407
+ };
1408
+
1409
+ //Mullite
1410
+
1411
+ elements.mullite = {
1412
+ color: ["#f2d7bf", "#f5cbdc", "#f2dfd3"], //hardly a gemstone, but i will color it like the others regardless
1413
+ tempHigh: 1840,
1414
+ behavior: behaviors.POWDER,
1415
+ category: "powders",
1416
+ state: "solid",
1417
+ density: 3110,
1418
+ hardness: 0.7,
1419
+ };
1420
+
1421
+ //Onyx
1422
+
1423
+ elements.onyx = {
1424
+ color: ["#1a1919", "#070605", "#111313"],
1425
+ tempHigh: 1650, //another silicate mineral
1426
+ behavior: behaviors.POWDER,
1427
+ category: "powders",
1428
+ state: "solid",
1429
+ density: 2650,
1430
+ hardness: 0.7,
1431
+ };
1432
+
1433
+ //Opal
1434
+
1435
+ elements.opal = {
1436
+ color: ["#ffcfcf", "#fff0d9", "#fcf7c5", "#e4ffd4", "#d1fff5", "#dcecfa", "#dfdbff", "#f5e0ff", "#f7d0f1"],
1437
+ tempHigh: 100,
1438
+ stateHigh: ["broken_opal", "broken_opal", "broken_opal", "broken_opal", "broken_opal", "broken_opal", "broken_opal", "broken_opal", "broken_opal", "steam"],
1439
+ behavior: behaviors.POWDER,
1440
+ category: "powders",
1441
+ state: "solid",
1442
+ density: 2090,
1443
+ hardness: 0.6,
1444
+ breakInto: ["quartz", "quartz", "quartz", "quartz", "quartz", "quartz", "quartz", "quartz", "quartz", "water"],
1445
+ };
1446
+
1447
+ elements.broken_opal = {
1448
+ color: ["#f5e6e6", "#ebe2d5", "#f7f6ed", "#e4eddf", "#d8ebe7", "#d8e0e8", "#e4e3e8", "#f4edf7", "#ebebeb"],
1449
+ tempHigh: 1650,
1450
+ stateHigh: "molten_quartz",
1451
+ behavior: behaviors.POWDER,
1452
+ category: "powders",
1453
+ state: "solid",
1454
+ density: 2322,
1455
+ hardness: 0.55, //it cracks
1456
+ };
1457
+
1458
+ //Quartz
1459
+
1460
+ elements.quartz = { //silicates, silicates, and more silicates
1461
+ color: ["#f0f0f0", "#e3e3e3", "#f7f7f7"],
1462
+ tempHigh: 1650,
1463
+ behavior: behaviors.POWDER,
1464
+ category: "powders",
1465
+ state: "solid",
1466
+ density: 2650,
1467
+ hardness: 0.7,
1468
+ };
1469
+
1470
+ //Re-add molten quartz because it stopped auto-generating
1471
+
1472
+ elements.molten_quartz = {"behavior":behaviors.MOLTEN,"hidden":true,"state":"liquid","category":"states","color":['#ffff78', '#fff078', '#ffb400', '#ffff71', '#ffe371', '#ffaa00', '#ffff7b', '#fff77b', '#ffb900'],"temp":1650,"tempLow":1550,"stateLow":"quartz","density":2385,"viscosity":10000,"reactions":{"ash":{"elem1":null,"elem2":"molten_slag"},"dust":{"elem1":null,"elem2":"molten_slag"},"magma":{"elem1":null,"elem2":"molten_slag"}},"movable":true}
1473
+
1474
+ //Use in glass
1475
+
1476
+ elements.molten_quartz.reactions = {
1477
+ quicklime: { elem1: "molten_glass", elem2: ["quicklime", "quicklime", "quicklime", "quicklime", "quicklime", "quicklime", "quicklime", "quicklime", "quicklime", null]} //lack of vanilla washing soda, lack of tripartite reactions
1478
+ };
1479
+ /*
1480
+ elements.elem1.reactions = {
1481
+ elem2: { elem1: "elem1_becomes", elem2: "elem2_becomes"}
1482
+ };
1483
+ */
1484
+
1485
+ //Pearl (not a mineral)
1486
+
1487
+ elements.pearl = {
1488
+ color: ["#e3e3e3", "#e3e0d1", "#eddbce", "#eef2c9", "#d5f5dc", "#d8f2ec", "#fadcf9", "#e3d1c1", "#f2edc9", "#e0f5d7", "#e2beeb", "#e3e3e3", "#e3e0d1", "#eddbce", "#eef2c9", "#d5f5dc", "#d8f2ec", "#fadcf9", "#e3d1c1", "#f2edc9", "#e0f5d7", "#e2beeb", "#38332e"],
1489
+ tempHigh: 1340, //yay, more thermal decomposition elements
1490
+ behavior: behaviors.POWDER,
1491
+ category: "powders",
1492
+ state: "solid",
1493
+ density: 772, //It is partly made of proteins and is said to burn, but I can't find an ignition point, so here it melts.
1494
+ hardness: 0.45,
1495
+ };
1496
+
1497
+ //Soil
1498
+
1499
+ //Dry dirt
1500
+
1501
+ elements.dry_dirt = {
1502
+ color: ["#a88e5e","#8f7950","#8a7045","#9e804c"],
1503
+ behavior: [
1504
+ "XX|SW:dirt%3 AND SW:mud%6|XX",
1505
+ "XX|XX|XX",
1506
+ "M2|M1|M2",
1507
+ ],
1508
+ tempHigh:1200,
1509
+ stateHigh: "molten_dirt",
1510
+ tempLow: -50,
1511
+ stateLow: "dry_permafrost",
1512
+ category:"land",
1513
+ state: "solid",
1514
+ density: 1100,
1515
+ },
1516
+
1517
+ elements.molten_dirt = { //added manually because the change to dirt will prevent molten_dirt from being auto-generated
1518
+ "behavior": behaviors.MOLTEN,
1519
+ "hidden": true,
1520
+ "state": "liquid",
1521
+ "category": "states",
1522
+ "color": ["#EC6A15", "#EC5515", "#EC3F00", "#B85210", "#B84210", "#B83100", "#AE4B0D", "#AE3C0D", "#AE2D00", "#D65A0F", "#D6480F", "#D63600"],
1523
+ "temp": 1200,
1524
+ "tempLow": 1100,
1525
+ "stateLow": "dry_dirt",
1526
+ "density": 1098,
1527
+ "viscosity": 10000
1528
+ }
1529
+
1530
+ if(enabledMods.includes("mods/boiling_rock.js")) {
1531
+ elements.molten_dirt.tempHigh = 3000;
1532
+ elements.molten_dirt.stateHigh = "vaporized_rock";
1533
+ };
1534
+
1535
+ elements.dry_permafrost = {
1536
+ color: ["#5B7870","#535D51","#52746A","#5A7A6F"],
1537
+ behavior: behaviors.POWDER, //not enough water for cementing
1538
+ temp: -50,
1539
+ tempHigh: 10,
1540
+ stateHigh: "dry_dirt",
1541
+ category: "land",
1542
+ state: "solid",
1543
+ state: "solid",
1544
+ density: 1200,
1545
+ }
1546
+
1547
+ elements.dirt.tempHigh = 110;
1548
+ elements.dirt.stateHigh = "dry_dirt";
1549
+
1550
+ elements.water.reactions.dry_dirt = { elem1: null, elem2: "dirt", chance: 0.1 }
1551
+ elements.water.reactions.radioactive_dry_dirt = { elem1: null, elem2: "radioactive_dirt", chance: 0.1 }
1552
+
1553
+ if(!elements.mud.reactions) {
1554
+ elements.mud.reactions = {};
1555
+ };
1556
+ elements.mud.reactions.dry_dirt = { elem1: "dirt", elem2: "dirt", chance: 0.06 }
1557
+ elements.mud.reactions.radioactive_dry_dirt = { elem1: "radioactive_dirt", elem2: "radioactive_dirt", chance: 0.06 }
1558
+
1559
+ //Land Element Cults
1560
+ /*
1561
+ "Cult" signifies a set of elements that systematically replicates another set of elements except for a given modification.
1562
+ In this case, they replicate some land elements; a "yellow" cult, for example, would have yellow_dirt, yellow_mud, yellow_mudstone, yellow_permafrost, yellow_sand...
1563
+ */
1564
+
1565
+ //Radioactive land
1566
+
1567
+ //Radioactive behavior cult (see above)
1568
+
1569
+ behaviors.RAD_POWDER = [
1570
+ "XX|CR:radiation%2|XX",
1571
+ "CR:radiation%2|HT%1.5|CR:radiation%2",
1572
+ "M2|M1 AND CR:radiation%2|M2",
1573
+ ],
1574
+ behaviors.RAD_STURDYPOWDER = [
1575
+ "XX|CR:radiation%2|XX",
1576
+ "CR:radiation%2|HT%1.5|CR:radiation%2",
1577
+ "XX|M1 AND CR:radiation%2|XX",
1578
+ ],
1579
+ behaviors.RAD_SUPPORT = [
1580
+ "CR:radiation%1|CR:radiation%2|CR:radiation%1",
1581
+ "SP AND CR:radiation%2|HT%1.5|SP AND CR:radiation%2",
1582
+ "XX|M1 AND CR:radiation%2|XX",
1583
+ ],
1584
+ behaviors.RAD_SUPPORTPOWDER = [
1585
+ "CR:radiation%1|CR:radiation%2|CR:radiation%1",
1586
+ "SP AND CR:radiation%2|HT%1.5|SP AND CR:radiation%2",
1587
+ "M2|M1 AND CR:radiation%2|M2",
1588
+ ],
1589
+ behaviors.RAD_LIQUID = [
1590
+ "XX|CR:radiation%2|XX",
1591
+ "M2 AND CR:radiation%2|HT%1.5|M2 AND CR:radiation%2",
1592
+ "M1|M1 AND CR:radiation%2|M1",
1593
+ ],
1594
+ behaviors.RAD_WALL = [
1595
+ "CR:radiation%0.7|CR:radiation%1.4|CR:radiation%0.7",
1596
+ "CR:radiation%1.4|HT%1.50000000000|CR:radiation%1.4",
1597
+ "CR:radiation%0.7|CR:radiation%1.4|CR:radiation%0.7",
1598
+ ],
1599
+ behaviors.RAD_GAS = [
1600
+ "M2 AND CR:radiation%1.0|M1 AND CR:radiation%2|M2 AND CR:radiation%1",
1601
+ "M1 AND CR:radiation%2|HT%1 AND CR:radiation%2|M1 AND CR:radiation%2",
1602
+ "M2 AND CR:radiation%1.0|M1 AND CR:radiation%2|M2 AND CR:radiation%1",
1603
+ ],
1604
+ behaviors.RAD_MOLTEN = [
1605
+ "XX|CR:radiation%2.5 AND CR:fire%2.5|XX",
1606
+ "M2 AND CR:radiation%1|HT%2|M2 AND CR:radiation%1",
1607
+ "M1|M1 AND CR:radiation%1|M1",
1608
+ ]
1609
+
1610
+ //console.log(behaviors.RAD_POWDER) //forcing it to acknowledge the behaviors i just added instead of giving me "undefined"
1611
+
1612
+ //Setting reactions (we'll define the elements later)
1613
+
1614
+ var namelessArray = ["dirt","sand","mud","wet_sand"];
1615
+ for(i = 0; i < namelessArray.length; i++) {
1616
+ var elementt = namelessArray[i];
1617
+ if(!elements[elementt].reactions) {
1618
+ elements[elementt].reactions = {};
1619
+ };
1620
+ };
1621
+
1622
+ elements.water.reactions.radiation = { elem1: "radioactive_water", elem2: null, chance:0.25 },
1623
+ elements.radiation.reactions.water = { elem2: "radioactive_water", elem1: null, chance:0.25 },
1624
+ elements.dirt.reactions.radiation = { elem1: "radioactive_dirt", elem2: null, chance:0.25 },
1625
+ elements.radiation.reactions.dirt = { elem2: "radioactive_dirt", elem1: null, chance:0.25 },
1626
+ elements.sand.reactions.radiation = { elem1: "radioactive_sand", elem2: null, chance:0.25 },
1627
+ elements.radiation.reactions.sand = { elem2: "radioactive_sand", elem1: null, chance:0.25 },
1628
+ elements.mud.reactions.radiation = { elem1: "radioactive_mud", elem2: null, chance:0.25 },
1629
+ elements.radiation.reactions.mud = { elem2: "radioactive_mud", elem1: null, chance:0.25 },
1630
+ elements.wet_sand.reactions.radiation = { elem1: "radioactive_wet_sand", elem2: null, chance:0.25 },
1631
+ elements.radiation.reactions.wet_sand = { elem2: "radioactive_wet_sand", elem1: null, chance:0.25 },
1632
+
1633
+ //Substitution table
1634
+
1635
+ radioactiveObject = {
1636
+ dirt: "radioactive_dirt",
1637
+ dry_dirt: "radioactive_dry_dirt",
1638
+ molten_dirt: "molten_radioactive_dirt",
1639
+ glass: "radioactive_glass",
1640
+ molten_glass: "molten_radioactive_glass",
1641
+ glass_shard: "radioactive_glass_shard",
1642
+ sand: "radioactive_sand",
1643
+ mud: "radioactive_mud",
1644
+ wet_sand: "radioactive_wet_sand",
1645
+ water: "radioactive_water",
1646
+ permafrost: "radioactive_permafrost",
1647
+ dry_permafrost: "radioactive_dry_permafrost",
1648
+ mudstone: "radioactive_mudstone",
1649
+ packed_sand: "radioactive_packed_sand",
1650
+ ice: "radioactive_ice",
1651
+ snow: "radioactive_snow",
1652
+ packed_snow: "radioactive_packed_snow",
1653
+ rain_cloud: "rad_cloud",
1654
+ snow_cloud: "rad_snow_cloud",
1655
+ snow_cloud_floater: "rad_snow_cloud_floater",
1656
+ rock: "radioactive_rock",
1657
+ gravel: "radioactive_gravel",
1658
+ basalt: "radioactive_basalt",
1659
+ magma: "radioactive_magma",
1660
+ sandstone: "radioactive_sandstone",
1661
+ sand_sediment: "radioactive_sand_sediment"
1662
+ };
1663
+
1664
+ if(enabledMods.includes("mods/glenn_gases.js")) {
1665
+ radioactiveObject.rock_dust = "radioactive_rock_dust";
1666
+ };
1667
+
1668
+ if(enabledMods.includes("mods/fire_mod.js")) {
1669
+ radioactiveObject.fire = "rad_fire";
1670
+ radioactiveObject.torch = "rad_torch";
1671
+ };
1672
+
1673
+ if(enabledMods.includes("mods/structure_test.js")) {
1674
+ radioactiveObject.glass = "rad_glass";
1675
+ radioactiveObject.glass_pane = "rad_glass_pane";
1676
+ radioactiveObject.glass_shard = "rad_glass_shard";
1677
+ };
1678
+
1679
+ //Reverse lookup function
1680
+
1681
+ function getKeyByValue(object, value) {
1682
+ return Object.keys(object).find(key => object[key] === value);
1683
+ }
1684
+ //getKeyByValue code by UncleLaz on StackOverflow: https://stackoverflow.com/questions/9907419/how-to-get-a-key-in-a-javascript-object-by-its-value"
1685
+
1686
+ //Main elements
1687
+
1688
+ elements.radioactive_dirt = {
1689
+ color: ["#70762b","#4c5c21","#50571a","#4c6b1e"],
1690
+ behavior: behaviors.RAD_POWDER,
1691
+ tempHigh:110,
1692
+ stateHigh: "radioactive_dry_dirt",
1693
+ reactions: {
1694
+ "dirt": { "elem1":"dirt", "elem2":"radioactive_dirt", "chance":0.0005, "oneway":true },
1695
+ "dry_dirt": { "elem1":"radioactive_dry_dirt", "elem2":"radioactive_dirt", "chance":0.0005, "oneway":true },
1696
+ "radioactive_dry_dirt": { "elem1":"radioactive_dry_dirt", "elem2":"radioactive_dirt", "chance":0.0005, "oneway":true },
1697
+ },
1698
+ tempLow: -50,
1699
+ stateLow: "radioactive_permafrost",
1700
+ category: "Radioactive",
1701
+ state: "solid",
1702
+ density: 1220,
1703
+ };
1704
+
1705
+ elements.radioactive_dry_dirt = {
1706
+ color: ["#8aa85e","#999c5d","#7f8a45","#b5ad59"],
1707
+ behavior: [
1708
+ "XX|SW:radioactive_dirt%3 AND SW:radioactive_mud%6 AND CR:radiation%2|XX",
1709
+ "AND CR:radiation%2|HT%1.5|CR:radiation%2",
1710
+ "M2|M1 AND CR:radiation%2|M2",
1711
+ ],
1712
+ tempHigh:1200,
1713
+ stateHigh: "molten_radioactive_dirt",
1714
+ tempLow: -50,
1715
+ stateLow: "radioactive_dry_permafrost",
1716
+ category:"land",
1717
+ state: "solid",
1718
+ density: 1100,
1719
+ },
1720
+
1721
+ elements.molten_radioactive_dirt = {
1722
+ "behavior": behaviors.RAD_MOLTEN,
1723
+ "hidden": true,
1724
+ "state": "liquid",
1725
+ "category": "Radioactive",
1726
+ "color": ["#e09315", "#e07615", "#e05800", "#987310", "#985c10", "#984500", "#a06c0d", "#a0570d", "#a04100", "#98850f", "#986b0f", "#985000"],
1727
+ "temp": 1250,
1728
+ "tempLow": 1100,
1729
+ "stateLow": "radioactive_dirt",
1730
+ "density": 1098,
1731
+ "viscosity": 10000
1732
+ }
1733
+
1734
+ elements.radioactive_glass = {
1735
+ color: ["#597a58","#719171"],
1736
+ colorOn: ["#6dab67","#88b567"],
1737
+ behavior: behaviors.RAD_WALL,
1738
+ tempHigh: 1500,
1739
+ category: "solids",
1740
+ state: "solid",
1741
+ density: 2500,
1742
+ breakInto: "radioactive_glass_shard",
1743
+ conduct: 0.01,
1744
+ };
1745
+
1746
+ elements.molten_radioactive_glass = {
1747
+ behavior: behaviors.RAD_MOLTEN,
1748
+ category: "Radioactive",
1749
+ };
1750
+
1751
+ elements.radioactive_glass_shard = {
1752
+ color: ["#597a58","#719171", "#628263"],
1753
+ colorOn: ["#6dab67","#88b567", "#7bad6f"],
1754
+ behavior: behaviors.RAD_POWDER,
1755
+ tempHigh: 1500,
1756
+ stateHigh: "molten_radioactive_glass",
1757
+ category: "powders",
1758
+ state: "solid",
1759
+ density: 2500,
1760
+ conduct: 0.01,
1761
+ };
1762
+
1763
+ elements.radioactive_sand = {
1764
+ color: "#cbdb7b",
1765
+ behavior: behaviors.RAD_POWDER,
1766
+ tempHigh: 1700,
1767
+ stateHigh: "molten_radioactive_glass",
1768
+ category: "Radioactive",
1769
+ state: "solid",
1770
+ density: 1602
1771
+ };
1772
+
1773
+ elements.radioactive_mud = {
1774
+ color: "#3c401c",
1775
+ behavior: behaviors.RAD_STURDYPOWDER,
1776
+ reactions: {
1777
+ "dry_dirt": { "elem1": "radioactive_dirt", "elem2": "radioactive_dirt", chance: 0.06 },
1778
+ "radioactive_dirt": { "elem1":"radioactive_dirt", "elem2":"radioactive_mud", "chance":0.0005, "oneway":true },
1779
+ "radioactive_sand": { "elem1":"radioactive_dirt", "elem2":"radioactive_wet_sand", "chance":0.0005, "oneway":true },
1780
+ "sand": { "elem1":"radioactive_dirt", "elem2":"radioactive_wet_sand", "chance":0.0005, "oneway":true },
1781
+ "dirt": { "elem1":"radioactive_dirt", "elem2":"radioactive_mud", "chance":0.0005, "oneway":true },
1782
+ },
1783
+ tempHigh: 100,
1784
+ stateHigh: "radioactive_mudstone",
1785
+ tempLow: -50,
1786
+ stateLow: "radioactive_permafrost",
1787
+ category: "Radioactive",
1788
+ state: "solid",
1789
+ density: 1730,
1790
+ stain: 0.02,
1791
+ };
1792
+
1793
+ elements.radioactive_wet_sand = {
1794
+ color: ["#848c3a","#969e4c"],
1795
+ behavior: behaviors.RAD_STURDYPOWDER,
1796
+ reactions: {
1797
+ "radioactive_sand": { "elem1":"radioactive_sand", "elem2":"radioactive_wet_sand", "chance":0.0005, "oneway":true },
1798
+ "radioactive_dirt": { "elem1":"radioactive_sand", "elem2":"radioactive_mud", "chance":0.0005, "oneway":true },
1799
+ "sand": { "elem1":"radioactive_sand", "elem2":"radioactive_wet_sand", "chance":0.0005, "oneway":true },
1800
+ "dirt": { "elem1":"radioactive_sand", "elem2":"radioactive_mud", "chance":0.0005, "oneway":true },
1801
+ "wet_sand": { "elem1":"radioactive_sand", "elem2":"radioactive_sand_sediment", "chance":0.0005, "oneway":true },
1802
+ "sand_sediment": { "elem1":"radioactive_sand", "elem2":"radioactive_sand_sediment", "chance":0.0005, "oneway":true },
1803
+ "radioactive_wet_sand": { "elem1":"radioactive_sand", "elem2":"radioactive_sand_sediment", "chance":0.0005, "oneway":true },
1804
+ "radioactive_sand_sediment": { "elem1":"radioactive_sand", "elem2":"radioactive_sand_sediment", "chance":0.0005, "oneway":true },
1805
+ },
1806
+ tempHigh: 100,
1807
+ stateHigh: "radioactive_packed_sand",
1808
+ category: "Radioactive",
1809
+ state: "solid",
1810
+ density: 1905,
1811
+ };
1812
+
1813
+ elements.radioactive_sandy_water = {
1814
+ color: ["#84A244", "#90AE50"],
1815
+ behavior: behaviors.RAD_LIQUID,
1816
+ tempHigh: 100,
1817
+ stateHigh: ["rad_steam","rad_steam","radioactive_sand"],
1818
+ //tempLow: 0,
1819
+ //stateLow: "radioactive_sandy_ice",
1820
+ category: "Radioactive",
1821
+ heatCapacity: 4.184, //unimplemented
1822
+ reactions: {
1823
+ "dirt": { // React with (water reacts with dirt to make mud)
1824
+ "elem1": [null,null,"radioactive_wet_sand"], // First element transforms into; in this case, water deletes itself
1825
+ "elem2": "radioactive_mud", // Second element transforms into; in this case, dirt turns to mud
1826
+ },
1827
+ "radioactive_dirt": { // React with (water reacts with dirt to make mud)
1828
+ "elem1": [null,null,"radioactive_wet_sand"], // First element transforms into; in this case, water deletes itself
1829
+ "elem2": "radioactive_mud", // Second element transforms into; in this case, dirt turns to mud
1830
+ },
1831
+ "water": { "elem1":"radioactive_water", "elem2":"radioactive_sandy_water", "chance":0.025 },
1832
+ "radioactive_water": { "elem1":"radioactive_water", "elem2":"radioactive_sandy_water", "chance":0.025 },
1833
+ "sand": { "elem1": [null,null,"radioactive_wet_sand"], "elem2": "radioactive_wet_sand", },
1834
+ "radioactive_sand": { "elem1": [null,null,"radioactive_wet_sand"], "elem2": "radioactive_wet_sand", },
1835
+ "sandy_water": { "elem1":"radioactive_wet_sand", "elem2":"radioactive_sand_sediment", "chance": 0.001 },
1836
+ "radioactive_sandy_water": { "elem1":"radioactive_wet_sand", "elem2":"radioactive_sand_sediment", "chance": 0.001 },
1837
+ "wet_sand": { "elem1": "radioactive_water", "elem2":"radioactive_sand_sediment", "chance": 0.0005 },
1838
+ "radioactive_wet_sand": { "elem1": "radioactive_water", "elem2":"radioactive_sand_sediment", "chance": 0.0005 },
1839
+ /*"salt": { "elem1": "salt_water", "elem2": null },
1840
+ "sugar": { "elem1": "sugar_water", "elem2": null, },
1841
+ "dust": { "elem1": "dirty_water", "elem2": null, },
1842
+ "ash": { "elem1": "dirty_water", "elem2": null, },
1843
+ "cyanide": { "elem1": "dirty_water", "elem2": null, },
1844
+ "carbon_dioxide": { "elem1": "seltzer", "elem2": null, "oneway":true },
1845
+ "sulfur": { "elem1": "dirty_water", "elem2": null, },
1846
+ "rat": { "elem1": "dirty_water", chance:0.005 },
1847
+ "plague": { "elem1": "dirty_water", "elem2": null, },
1848
+ "rust": { "elem1": "dirty_water", chance:0.005 },
1849
+ "fallout": { "elem1": "dirty_water", chance:0.25 },
1850
+ "radiation": { "elem1": "dirty_water", chance:0.25 },
1851
+ "uranium": { "elem1": "dirty_water", chance:0.25 },
1852
+ "rotten_meat": { "elem1": "dirty_water", chance:0.25 },
1853
+ "quicklime": { "elem1": [null,null,"wet_sand"], "elem2": "slaked_lime", },
1854
+ "rock": { "elem2": "wet_sand", "chance": 0.00035 },
1855
+ "ruins": { "elem2": "rock", "chance": 0.00035 },*/
1856
+ "mudstone": { "elem2": "radioactive_mud", "chance": 0.00035 },
1857
+ "radioactive_mudstone": { "elem2": "radioactive_mud", "chance": 0.00035 },
1858
+ //"methane": { "elem1":"primordial_soup", "elem2":"primordial_soup", tempMin:60, charged:true },
1859
+ //"ammonia": { "elem1":"primordial_soup", "elem2":"primordial_soup", tempMin:60, charged:true },
1860
+ "fly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1861
+ "firefly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1862
+ "bee": { "elem2":"dead_bug", "chance":0.05, "oneway":true },
1863
+ "stink_bug": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1864
+ },
1865
+ state: "liquid",
1866
+ density: 1097,
1867
+ conduct: 0.02,
1868
+ stain: 0.01,
1869
+ }
1870
+
1871
+ elements.radioactive_sand_sediment = {
1872
+ hidden: true,
1873
+ color: "#afd182",
1874
+ hardness: 0.2,
1875
+ behavior: [
1876
+ "XX|XX|XX",
1877
+ "XX|XX|XX",
1878
+ "SW:wet_sand,radioactive_wet_sand%1.5 AND M2|SW:wet_sand,radioactive_wet_sand%2.5 AND M1|SW:wet_sand,radioactive_wet_sand%1.5 AND M2"
1879
+ ],
1880
+ reactions: {
1881
+ "water": { "elem1":"radioactive_sandy_water", "elem2":"radioactive_sandy_water", "chance":0.025 },
1882
+ "radioactive_water": { "elem1":"radioactive_sandy_water", "elem2":"radioactive_sandy_water", "chance":0.025 },
1883
+ "sand": { "elem1": [null,null,"radioactive_wet_sand"], "elem2": "radioactive_wet_sand", },
1884
+ "radioactive_sand": { "elem1": [null,null,"radioactive_wet_sand"], "elem2": "radioactive_wet_sand", },
1885
+ "sandy_water": { "elem1":["radioactive_water","radioactive_water","radioactive_sand_sediment"], "chance":0.001 },
1886
+ "radioactive_sandy_water": { "elem1":["radioactive_water","radioactive_water","radioactive_sand_sediment"], "chance":0.001 },
1887
+ "wet_sand": { "elem2": "radioactive_sand_sediment", "chance": 0.0005 },
1888
+ "radioactive_wet_sand": { "elem2": "radioactive_sand_sediment", "chance": 0.0005 },
1889
+ },
1890
+ tempHigh: 1700,
1891
+ stateHigh: "molten_radioactive_glass",
1892
+ category: "Radioactive",
1893
+ state: "solid",
1894
+ density: 1602,
1895
+ breakInto: "radioactive_sand",
1896
+ tick: function(pixel) {
1897
+ sedimentation(pixel,sandstoneLithificationElements,"radioactive_sandstone")
1898
+ },
1899
+ }
1900
+
1901
+ elements.radioactive_sandstone = {
1902
+ color: ["#85b357", "#b5d177", "#9cd184", "#7bc25f"],
1903
+ behavior: behaviors.RAD_WALL,
1904
+ tempHigh: 1500,
1905
+ stateHigh: "molten_radioactive_glass",
1906
+ category: "Radioactive",
1907
+ state: "solid",
1908
+ density: 2323, //wide range
1909
+ hardness: 0.5,
1910
+ breakInto: "radioactive_sand",
1911
+ }
1912
+
1913
+ elements.radioactive_water = {
1914
+ color: "#85cf57",
1915
+ behavior: behaviors.RAD_LIQUID,
1916
+ tempHigh: 100,
1917
+ stateHigh: ["rad_steam","rad_steam","fallout"],
1918
+ tempLow: -5,
1919
+ stateLow: "radioactive_ice",
1920
+ category: "Radioactive",
1921
+ heatCapacity: 4.184,
1922
+ reactions: {
1923
+ "water": { elem1: "water", elem2: "radioactive_water", chance:0.05 }, //swap
1924
+ "dirt": { // React with (water reacts with dirt to make mud)
1925
+ "elem1": null, // First element transforms into; in this case, water deletes itself
1926
+ "elem2": "radioactive_dirt", // Second element transforms into; in this case, dirt turns to mud
1927
+ },
1928
+ "dry_dirt": { "elem1": null, "elem2": "radioactive_dirt", },
1929
+ "radioactive_dirt": { "elem1": null, "elem2": "radioactive_dirt", },
1930
+ "sand": { "elem1": null, "elem2": "radioactive_wet_sand", },
1931
+ "wet_sand": { "elem1": "radioactive_sandy_water", "elem2": ["radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand",null], chance: 0.01 },
1932
+ "radioactive_wet_sand": { "elem1": "radioactive_sandy_water", "elem2": ["radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand","radioactive_wet_sand",null], chance: 0.01 },
1933
+ "rat": { "elem2": "rotten_meat", chance:0.005 },
1934
+ "plague": { "elem2": null, chance: 0.3, },
1935
+ //"quicklime": { "elem1": null, "elem2": "slaked_lime", },
1936
+ "rock": { "elem2": "radioactive_wet_sand", "chance": 0.00035 },
1937
+ //"ruins": { "elem2": "rock", "chance": 0.00035 },
1938
+ "mudstone": { "elem2": "radioactive_mud", "chance": 0.00035 },
1939
+ "radioactive_mudstone": { "elem2": "radioactive_mud", "chance": 0.00035 },
1940
+ "packed_sand": { "elem2": "radioactive_wet_sand", "chance": 0.00035 },
1941
+ "radioactive_packed_sand": { "elem2": "radioactive_wet_sand", "chance": 0.00035 },
1942
+ "fly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1943
+ "firefly": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1944
+ "bee": { "elem2":"dead_bug", "chance":0.05, "oneway":true },
1945
+ "stink_bug": { "elem2":"dead_bug", "chance":0.1, "oneway":true },
1946
+ },
1947
+ state: "liquid",
1948
+ density: 997,
1949
+ conduct: 0.03,
1950
+ stain: 0.02,
1951
+ }
1952
+
1953
+ elements.rad_steam.behavior = behaviors.RAD_GAS;
1954
+ elements.rad_steam.stateLow = "radioactive_water";
1955
+ elements.rad_cloud.behavior = [
1956
+ "XX|XX|XX",
1957
+ "XX|CH:fallout,radiation,radioactive_water%0.025|M1%2.5 AND BO",
1958
+ "CR:radiation%0.05|CR:radiation%0.05|CR:radiation%0.05",
1959
+ ];
1960
+ elements.rad_cloud.tempLow = 0;
1961
+ elements.rad_cloud.stateLow = "rad_snow_cloud";
1962
+ elements.fallout.behavior = behaviors.RAD_POWDER;
1963
+
1964
+ elements.radioactive_permafrost = {
1965
+ color: ["#51613d","#495234","#3b4a30","#4a4f35"],
1966
+ behavior: behaviors.RAD_SUPPORT,
1967
+ temp: -50,
1968
+ tempHigh: 10,
1969
+ stateHigh: "radioactive_mudstone",
1970
+ category: "Radioactive",
1971
+ state: "solid",
1972
+ density: 700,
1973
+ };
1974
+
1975
+ elements.radioactive_dry_permafrost = {
1976
+ color: ["#6e9970","#64756a","#4e7864", "#5f8a78"],
1977
+ behavior: behaviors.POWDER, //not enough water for cementing
1978
+ temp: -50,
1979
+ tempHigh: 10,
1980
+ stateHigh: "radioactive_dry_dirt",
1981
+ category: "land",
1982
+ state: "solid",
1983
+ state: "solid",
1984
+ density: 1200,
1985
+ }
1986
+
1987
+ elements.radioactive_mudstone = {
1988
+ color: "#4f5e25",
1989
+ behavior: behaviors.RAD_SUPPORT,
1990
+ tempHigh:1200,
1991
+ stateHigh: "molten_radioactive_dirt",
1992
+ tempLow: -50,
1993
+ stateLow: "radioactive_permafrost",
1994
+ category: "Radioactive",
1995
+ state: "solid",
1996
+ density: 1250,
1997
+ breakInto: "radioactive_dirt",
1998
+ };
1999
+
2000
+ elements.radioactive_packed_sand = {
2001
+ color: "#79945c",
2002
+ behavior: behaviors.RAD_SUPPORT,
2003
+ tempHigh: 1700,
2004
+ stateHigh: "molten_radioactive_glass",
2005
+ category: "Radioactive",
2006
+ state: "solid",
2007
+ density: 1682,
2008
+ breakInto: "radioactive_sand",
2009
+ };
2010
+
2011
+ elements.radioactive_ice = {
2012
+ color: "#b7e0b4",
2013
+ behavior: behaviors.RAD_WALL,
2014
+ temp: 0,
2015
+ tempHigh: 5,
2016
+ stateHigh: "radioactive_water",
2017
+ category: "solids",
2018
+ state: "solid",
2019
+ density: 917,
2020
+ breakInto: "radioactive_snow",
2021
+ };
2022
+
2023
+ elements.radioactive_snow = {
2024
+ color: "#d5f2d3",
2025
+ behavior: behaviors.RAD_POWDER,
2026
+ temp: 0,
2027
+ tempHigh: 5,
2028
+ tempLow: -100,
2029
+ stateLow: "radioactive_packed_snow",
2030
+ stateHigh: "radioactive_water",
2031
+ category: "Radioactive",
2032
+ state: "solid",
2033
+ density: 100,
2034
+ };
2035
+
2036
+ elements.radioactive_packed_snow = {
2037
+ color: "#a7d4a3",
2038
+ behavior: behaviors.RAD_SUPPORTPOWDER,
2039
+ temp: 0,
2040
+ tempHigh: 20,
2041
+ tempLow: -200,
2042
+ stateLow: "radioactive_ice",
2043
+ stateHigh: "radioactive_water",
2044
+ category: "Radioactive",
2045
+ state: "solid",
2046
+ density: 400,
2047
+ hidden: true,
2048
+ };
2049
+
2050
+ elements.rad_snow_cloud = {
2051
+ color: ["#2d6e31","#416e21"],
2052
+ behavior: [
2053
+ "XX|XX|XX",
2054
+ "XX|CH:fallout,radiation,radioactive_snow%0.025|M1%2.5 AND BO",
2055
+ "CR:radiation%0.05|CR:radiation%0.05|CR:radiation%0.05",
2056
+ ],
2057
+ category:"Radioactive",
2058
+ hidden: true,
2059
+ state: "gas",
2060
+ density: 0.5,
2061
+ ignoreAir: true,
2062
+ temp: -20,
2063
+ tempHigh: 0,
2064
+ stateHigh: "rad_cloud",
2065
+ };
2066
+
2067
+ elements.rad_snow_cloud_floater = {
2068
+ color: ["#2d6e31","#416e21"],
2069
+ behavior: [
2070
+ "M2|M1|M2",
2071
+ "M1%80|CH:rad_snow_cloud_%0.2|M1%80",
2072
+ "M%60|XX|M2%60",
2073
+ ],
2074
+ reactions: {
2075
+ "rad_snow_cloud_floater": { elem1: "rad_snow_cloud", elem2: "rad_snow_cloud", chance: 0.003 },
2076
+ "rad_snow_cloud": { elem1: "rad_snow_cloud", elem2: "rad_snow_cloud", chance: 0.01 }
2077
+ },
2078
+ category:"Radioactive",
2079
+ hidden: true,
2080
+ state: "gas",
2081
+ density: 0.5,
2082
+ temp: -20,
2083
+ tempHigh: 0,
2084
+ stateHigh: "rad_cloud",
2085
+ };
2086
+
2087
+ elements.radioactive_rock = {
2088
+ color: ["#768063","#444f3f","#7a9476"],
2089
+ behavior: behaviors.RAD_POWDER,
2090
+ tempHigh: 950,
2091
+ stateHigh: "radioactive_magma",
2092
+ category: "Radioactive",
2093
+ state: "solid",
2094
+ density: 2550,
2095
+ hardness: 0.5,
2096
+ breakInto: ["radioactive_sand","radioactive_gravel"],
2097
+ };
2098
+
2099
+ elements.radioactive_gravel = {
2100
+ color: ["#d1e3c8","#a6b090","#657360","#4d523f"],
2101
+ behavior: behaviors.RAD_POWDER,
2102
+ category: "Radioactive",
2103
+ tempHigh: 950,
2104
+ stateHigh: "radioactive_magma",
2105
+ state: "solid",
2106
+ density: 1680,
2107
+ hardness: 0.2,
2108
+ breakInto: "radioactive_sand",
2109
+ };
2110
+
2111
+ elements.radioactive_basalt = {
2112
+ color: ["#262e20","#23331f","#3f4235"],
2113
+ behavior: behaviors.RAD_STURDYPOWDER,
2114
+ tempHigh: 1262.5,
2115
+ stateHigh: "radioactive_magma",
2116
+ category: "Radioactive",
2117
+ state: "solid",
2118
+ density: 3000,
2119
+ hardness: 0.65,
2120
+ breakInto: "radioactive_gravel",
2121
+ };
2122
+
2123
+ elements.radioactive_magma = {
2124
+ color: ["#ff9100","#ffae00","#ff8400"],
2125
+ behavior: behaviors.RAD_MOLTEN,
2126
+ reactions: {
2127
+ "ice": { "elem1": "radioactive_basalt" },
2128
+ "radioactive_ice": { "elem1": "radioactive_basalt" },
2129
+ "magma": { "elem1":"magma", "elem2":"radioactive_magma", "chance":0.0005, "oneway":true },
2130
+ },
2131
+ temp: 1500,
2132
+ tempLow: 850,
2133
+ stateLow: ["radioactive_basalt","radioactive_basalt","radioactive_basalt","radioactive_rock"],
2134
+ viscosity: 5000,
2135
+ category: "Radioactive",
2136
+ state: "liquid",
2137
+ density: 2725,
2138
+ };
2139
+
2140
+ //(Just for fun)
2141
+
2142
+ elements.super_irradiator = {
2143
+ color: "#66ee33",
2144
+ tick: function(pixel) {
2145
+ var twentiethOfTemp = pixel.temp / 20;
2146
+ var roundOf20th = Math.round(twentiethOfTemp);
2147
+ var boundedR20 = Math.max(1,Math.min(roundOf20th,11));
2148
+ transformAround(pixel,boundedR20,radioactiveObject)
2149
+ },
2150
+ category:"machines",
2151
+ insulate: true,
2152
+ state: "solid",
2153
+ };
2154
+
2155
+ elements.super_deirradiator = {
2156
+ color: "#dd33ee",
2157
+ tick: function(pixel) {
2158
+ var twentiethOfTemp = pixel.temp / 20;
2159
+ var roundOf20th = Math.round(twentiethOfTemp);
2160
+ var boundedR20 = Math.max(1,Math.min(roundOf20th,11));
2161
+ transformAround(pixel,boundedR20,radioactiveObject,reverse=true)
2162
+ },
2163
+ category:"machines",
2164
+ insulate: true,
2165
+ state: "solid",
2166
+ };
2167
+
2168
+ elements.liquid_irradium = {
2169
+ color: "#5499FF",
2170
+ behavior: behaviors.RAD_LIQUID,
2171
+ tick: function(pixel) {
2172
+ for(i = 0; i < adjacentCoords.length; i++) {
2173
+ transformAdjacent(pixel,radioactiveObject)
2174
+ }
2175
+ },
2176
+ //Becomes rainbow sand by water or poison, as well as by protocite, or bio-ooze
2177
+ //Becomes sulfuric acid on contact with it
2178
+ //Becomes corrupt slime by elder fluid
2179
+ //Converts black tar and organic soup into itself
2180
+ //Turns either grav liquid into aether dust, as well as liquid crystal
2181
+ //Turns blood into bloodstone
2182
+ //Turns blue slime into black slime
2183
+ //Made by {mercury or bio-ooze} and protocite
2184
+ category:"liquids",
2185
+ state: "liquid",
2186
+ density: 18180, //Cherry-picked from a Tumblr headcanon
2187
+ //https://omniblog-of-starbound.tumblr.com/post/188424072728/starbound-element-headcannon-modded-metals
2188
+ viscosity: 80.1, //probably misinterpreting tickDelta, and w/o the game assets, I can't compare against water, so this is in relation to H2SO4 scaled to its density in cP and under the assumption that water visc = 1
2189
+ };
2190
+
2191
+ //Inter-mod compatibility
2192
+
2193
+ if(enabledMods.includes("mods/some_tf_liquids.js")) {
2194
+ elements.radioactive_basalt_gravel = {
2195
+ color: ["#394d37", "#3b452f", "#3f452a", "#2d3d2c"],
2196
+ behavior: behaviors.RAD_POWDER,
2197
+ tempHigh: 1262.5,
2198
+ stateHigh: "radioactive_magma",
2199
+ category: "Radioactive",
2200
+ state: "solid",
2201
+ density: 1975,
2202
+ hardness: 0.26,
2203
+ }
2204
+ elements.radioactive_basalt.breakInto = "radioactive_basalt_gravel";
2205
+ };
2206
+
2207
+ //Worldgen preset for testing
2208
+
2209
+ worldgentypes.radioactive_sandstone_test_ocean = {
2210
+ layers: [
2211
+ [0.9, "radioactive_wet_sand", 0.2],
2212
+ [0.9, "radioactive_sand", 0.2],
2213
+ [0.8, "radioactive_sandy_water", 0.7],
2214
+ [0.25, "radioactive_water"],
2215
+ [0.1, "radioactive_sand", 0.1],
2216
+ [0.1, "clay", 0.1],
2217
+ [0.1, "radioactive_gravel", 0.2],
2218
+ [0.1, "radioactive_wet_sand"],
2219
+ [0.03, "radioactive_gravel", 0.5],
2220
+ [0.03, "radioactive_rock"],
2221
+ [0, "radioactive_basalt"],
2222
+ ]
2223
+ };
2224
+
2225
+ /*/Water irradiation reactions (must be done last)
2226
+
2227
+ waterIrradiationExclusionArray = ["radioactive_water", "radioactive_wet_sand"]
2228
+
2229
+ filteredWaterIrradiationArray = Object.keys(elements).filter(function(e) {
2230
+ return elements[e].category === "Radioactive" && (!waterIrradiationExclusionArray.includes(e));
2231
+ });
2232
+
2233
+ for(i = 0; i < filteredWaterIrradiationArray.length; i++) {
2234
+ elements.water.reactions[filteredWaterIrradiationArray[i]] = { "elem1":"radioactive_water", chance: 0.01 }
2235
+ };*/
2236
+
2237
+ //Generation
2238
+
2239
+ //TNT world
2240
+
2241
+ //Supplementary elements
2242
+
2243
+ elements.oil_cloud = {
2244
+ color: "#8c4331",
2245
+ behavior: [
2246
+ "XX|XX|XX",
2247
+ "XX|CH:oil%0.05|M1%2.5 AND BO",
2248
+ "XX|XX|XX",
2249
+ ],
2250
+ category:"gases",
2251
+ temp: 30,
2252
+ state: "gas",
2253
+ density: 0.5,
2254
+ burn: 60,
2255
+ burnTime: 15,
2256
+ burnInto: "explosion", //atomization moment
2257
+ ignoreAir: true,
2258
+ stain: 0.02,
2259
+ };
2260
+
2261
+ elements.oil_cloud_floater = {
2262
+ color: "#8c4331",
2263
+ behavior: [
2264
+ "M2|M1|M2",
2265
+ "M1%80|CH:oil_cloud%0.2|M1%80",
2266
+ "M%60|XX|M2%60",
2267
+ ],
2268
+ reactions: {
2269
+ "oil_cloud_floater": { elem1: "oil_cloud", elem2: "oil_cloud", chance: 0.003 },
2270
+ "oil_cloud": { elem1: "oil_cloud", elem2: "oil_cloud", chance: 0.01 }
2271
+ },
2272
+ category:"gases",
2273
+ temp: 30, //otherwise identical
2274
+ state: "gas",
2275
+ density: 0.5,
2276
+ burn: 60,
2277
+ burnTime: 15,
2278
+ burnInto: "explosion", //atomization moment
2279
+ stain: 0.02,
2280
+ };
2281
+
2282
+ //Main preset
2283
+
2284
+ worldgentypes.tnt_world = {
2285
+ name: "TNT World", //unimplemented
2286
+ layers: [
2287
+ [0.9, "oil_cloud_floater"],
2288
+ [0.65, "coal", 0.1],
2289
+ [0.65, "nitroglycerin"],
2290
+ [0.55, "nitroglycerin", 0.5],
2291
+ [0.2, "coal", 0.2],
2292
+ [0.2, "tnt"],
2293
+ [0.05, "coal", 0.3],
2294
+ [0.05, "c4"],
2295
+ [0.0, "coal", 0.4],
2296
+ [0.0, "lamp_oil"]
2297
+ ]
2298
+ };
2299
+
2300
+ //Inter-mod compatibility
2301
+
2302
+ runAfterLoad(function() {
2303
+ if(enabledMods.includes("mods/glenn_gases.js")) {
2304
+ worldgentypes.tnt_world.layers.unshift([0.9, "red_gas", 0.50])
2305
+ };
2306
+ });
2307
+
2308
+ //Ice world
2309
+
2310
+ //Supplementary elements
2311
+
2312
+ elements.snow_cloud_floater = {
2313
+ color: "#7e8691",
2314
+ behavior: [
2315
+ "M2|M1|M2",
2316
+ "M1%80|CH:snow_cloud%0.2|M1%80",
2317
+ "M%60|XX|M2%60",
2318
+ ],
2319
+ reactions: {
2320
+ "snow_cloud_floater": { elem1: "snow_cloud", elem2: "snow_cloud", chance: 0.003 },
2321
+ "snow_cloud": { elem1: "snow_cloud", elem2: "snow_cloud", chance: 0.01 }
2322
+ },
2323
+ category:"gases",
2324
+ temp:-10,
2325
+ tempHigh:30,
2326
+ stateHigh:"rain_cloud",
2327
+ tempLow:-200,
2328
+ stateLow:"hail_cloud",
2329
+ state:"gas",
2330
+ density:0.55,
2331
+ conduct:0.01,
2332
+ movable:true,
2333
+ isGas:true
2334
+ };
2335
+
2336
+ //Main preset
2337
+
2338
+ worldgentypes.ice = {
2339
+ layers: [
2340
+ //[0.95, "snow_cloud_floater"], //le cutting room floor has arrived
2341
+ [0.9, "snow"],
2342
+ [0.65, "ice"],
2343
+ [0.6, "gravel"],
2344
+ [0.35, "permafrost"],
2345
+ [0, "rock"]
2346
+ ],
2347
+ temperature: -20
2348
+ };
2349
+
2350
+ //Nuclear wasteland
2351
+
2352
+ //Elements defined above
2353
+
2354
+ //Main preset
2355
+
2356
+ worldgentypes.nuclear_wasteland = {
2357
+ layers: [
2358
+ [0.9, "smoke", 0.5],
2359
+ [0.9, "rad_snow_cloud_floater", 0.75],
2360
+ [0.82, "fallout", 0.4],
2361
+ [0.7, "liquid_irradium", 0.05],
2362
+ [0.7, "dead_plant", 0.12],
2363
+ [0.55, "radioactive_dirt"],
2364
+ [0.45, "radioactive_rock"],
2365
+ [0.25, "uranium", 0.4],
2366
+ [0.35, "radioactive_rock", 0.5],
2367
+ [0.3, "radioactive_gravel", 0.5],
2368
+ [0.2, "uranium", 0.2],
2369
+ [0.05, "rock"],
2370
+ [0, "basalt"],
2371
+ ],
2372
+ temperature: -5 //nuclear winter
2373
+ };
2374
+
2375
+ //Dark world
2376
+
2377
+ worldgentypes.dark = {
2378
+ layers: [
2379
+ [0.8, "carbon_dioxide"],
2380
+ [0.65, "ink"],
2381
+ [0.5, "charcoal"],
2382
+ [0, "basalt"]
2383
+ ]
2384
+ };
2385
+
2386
+ //Money world
2387
+
2388
+ worldgentypes.money = {
2389
+ layers: [
2390
+ [0.9, "emerald"],
2391
+ [0.6, "diamond"],
2392
+ [0.3, "gold_coin"],
2393
+ [0.1, "ruby", 1/3],
2394
+ [0.1, "amethyst", 1/2],
2395
+ [0.1, "sapphire"],
2396
+ [-0.1, "pearl", 0.4],
2397
+ [-0.1, "onyx"]
2398
+ ]
2399
+ };
2400
+
2401
+ //Star world
2402
+ //If GWSN can have a decidedly Earth-y name and a space concept, then I should be able to do the same
2403
+
2404
+ //Supplementary elements
2405
+
2406
+ elements.liquid_stellar_plasma = {
2407
+ color: "#ffffbd",
2408
+ colorOn: "#ffffbd",
2409
+ behavior: [
2410
+ "XX|M2%5 AND CR:plasma%1|XX",
2411
+ "M2|XX|M2",
2412
+ "M1|M1|M1",
2413
+ ],
2414
+ behaviorOn: [
2415
+ "XX|M2%10 AND M1%0.5 AND CR:plasma%2.3|XX",
2416
+ "M2|XX|M2",
2417
+ "M1|M1|M1",
2418
+ ],
2419
+ tick: function(pixel) {
2420
+ almostSun(pixel,0.6,stellarPlasmaSpreadWhitelist);
2421
+ },
2422
+ temp:5500,
2423
+ isGas: true,
2424
+ tempLow:2300,
2425
+ stateLow: "plasma",
2426
+ category: "liquids",
2427
+ state: "liquid",
2428
+ density: 1000, //density actually depends on depth in the star: https://astronomy.stackexchange.com/a/32734
2429
+ conduct: 0.5,
2430
+ };
2431
+
2432
+ elements.stellar_plasma = {
2433
+ color: "#ffffbd",
2434
+ colorOn: "#ffffbd",
2435
+ behavior: [
2436
+ "M2|M1 AND CR:plasma%0.6|M2",
2437
+ "M1 AND CR:plasma%0.6|XX|M1 AND CR:plasma%0.6",
2438
+ "M2|M1 AND CR:plasma%0.6|M2",
2439
+ ],
2440
+ behaviorOn: [
2441
+ "M2|M1 AND CR:plasma%1|M2",
2442
+ "M1 AND CR:plasma%1|XX|M1 AND CR:plasma%1",
2443
+ "M2|M1 AND CR:plasma%1|M2",
2444
+ ],
2445
+ tick: function(pixel) {
2446
+ almostSun(pixel,0.5,stellarPlasmaSpreadWhitelist);
2447
+ },
2448
+ temp:5500,
2449
+ tempLow:2300,
2450
+ stateLow: "plasma",
2451
+ category: "gases",
2452
+ state: "gas",
2453
+ density: 10,
2454
+ conduct: 0.5,
2455
+ };
2456
+
2457
+ elements.neutron_star = {
2458
+ color: "#e9eaf7",
2459
+ colorOn: "#ffffbd",
2460
+ behavior: [
2461
+ "XX|CR:neutron%0.1|XX", //no neutrinos though
2462
+ "CR:neutron%0.1|XX|CR:neutron%0.1",
2463
+ "XX|CR:neutron%0.1|XX"
2464
+ ],
2465
+ tick: function(pixel) {
2466
+ nsTick(pixel,0.7,stellarPlasmaSpreadWhitelist);
2467
+ },
2468
+ temp: 1e12,
2469
+ category: "special",
2470
+ state: "gas",
2471
+ density: 1e17,
2472
+ insulate: true,
2473
+ conduct: 1,
2474
+ };
2475
+
2476
+ elements.liquid_degenerate_neutronium = {
2477
+ color: "#e9eaf7",
2478
+ behavior: [
2479
+ "XX|M2%5 AND CR:neutron%0.6|XX",
2480
+ "M2|XX|M2",
2481
+ "M1|M1|M1",
2482
+ ],
2483
+ behaviorOn: [
2484
+ "XX|M2%10 AND M1%0.5 AND CR:neutron%1.2|XX",
2485
+ "M2|XX|M2",
2486
+ "M1|M1|M1",
2487
+ ],
2488
+ tick: function(pixel) {
2489
+ nsTick(pixel,0.7,stellarPlasmaSpreadWhitelist);
2490
+ },
2491
+ temp:1e6,
2492
+ isGas: true,
2493
+ tempLow:2300,
2494
+ stateLow: elements.liquid_neutronium ? "liquid_neutronium" : "neutron",
2495
+ category: "liquids",
2496
+ state: "liquid",
2497
+ density: 100000, //i'm not doing any more research on these neutron stars because google is useless
2498
+ conduct: 1,
2499
+ };
2500
+
2501
+ elements.gaseous_degenerate_neutronium = {
2502
+ color: "#e9eaf7",
2503
+ behavior: [
2504
+ "M2|M1 AND CR:neutron%0.6|M2",
2505
+ "M1 AND CR:neutron%0.6|XX|M1 AND CR:neutron%0.6",
2506
+ "M2|M1 AND CR:neutron%0.6|M2",
2507
+ ],
2508
+ behaviorOn: [
2509
+ "M2|M1 AND CR:neutron%1|M2",
2510
+ "M1 AND CR:neutron%1|XX|M1 AND CR:neutron%1",
2511
+ "M2|M1 AND CR:neutron%1|M2",
2512
+ ],
2513
+ tick: function(pixel) {
2514
+ nsTick(pixel,0.6,stellarPlasmaSpreadWhitelist);
2515
+ },
2516
+ temp:1e6,
2517
+ isGas: true,
2518
+ tempLow:2300,
2519
+ stateLow: "neutron",
2520
+ category: "gases",
2521
+ state: "gas",
2522
+ density: 10000, //i'm not doing any more research on these neutron stars because google is useless
2523
+ conduct: 1,
2524
+ };
2525
+
2526
+ if(enabledMods.includes("mods/chem.js")) {
2527
+ elements.supernova.behavior = [
2528
+ "XX|XX|XX",
2529
+ "XX|EX:80>plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,molten_iron,molten_uranium,molten_lead AND CH:neutron_star,neutron_star,neutron_star,neutronium,quark_matter,void|XX",
2530
+ "XX|XX|XX",
2531
+ ]
2532
+ };
2533
+
2534
+ elements.plasma.ignoreConduct = ["stellar_plasma","liquid_stellar_plasma","liquid_degenerate_neutronium","gaseous_degenerate_neutronium","neutron_star"]; //I can't suppress the charge overlay and keep the tick color, only effective with noConduct.js but not strictly required
2535
+
2536
+ //Main preset
2537
+
2538
+ worldgentypes.star = {
2539
+ layers: [
2540
+ [0.9, "stellar_plasma"],
2541
+ [0.65, "liquid_stellar_plasma"],
2542
+ [0.4, "liquid_stellar_plasma", 1/2],
2543
+ [0, "sun"],
2544
+ ],
2545
+ complexity: 100,
2546
+ baseHeight: 0.3,
2547
+ temperature: 6500,
2548
+ };
2549
+
2550
+ //Radioactive Desert
2551
+
2552
+ //Main preset
2553
+
2554
+ worldgentypes.nuclear_wasteland_desert = {
2555
+ layers: [
2556
+ [0.97, "fallout", 0.4],
2557
+ [0.95, "radioactive_gravel", 0.6],
2558
+ [0.65, "liquid_irradium", 0.01],
2559
+ [0.65, "cancer", 0.02],
2560
+ [0.65, "bone", 0.02],
2561
+ [0.65, "radioactive_sand"],
2562
+ [0.55, "cancer", 0.01],
2563
+ [0.55, "bone", 0.01],
2564
+ [0.3, "radioactive_sandstone"],
2565
+ [0.05, "radioactive_rock"],
2566
+ [-0.78, "radioactive_basalt"]
2567
+ ],
2568
+ temperature: -13
2569
+ };
2570
+