Merge branch 'R74nCom:main' into main
This commit is contained in:
commit
22b09da7f4
|
|
@ -0,0 +1 @@
|
|||
https://craftpix.net/file-licenses/
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
131
changelog.html
131
changelog.html
|
|
@ -113,6 +113,137 @@
|
|||
<p>The original <a href="https://sandboxels.R74n.com/changelog.txt">plain text version</a> of this is still maintained.</p>
|
||||
</div>
|
||||
|
||||
<h2 id="1.13.1">[Version 1.13.1 - December 18, 2025 - G&G Hotfix]</h2>
|
||||
<ul>
|
||||
<li>~ This is a quick group of bug fixes and improvements following yesterday's update.</li>
|
||||
<li>+ More Shift-Select functionality:</li>
|
||||
<li> + Fuse can turn into an element after charged</li>
|
||||
<li> + Filler can turn into an element after cloning itself</li>
|
||||
<li> + Heat and Cool tools can specify limits</li>
|
||||
<li> + Paint tool can specify a specific element to paint</li>
|
||||
<li> + Udder can dispense a specific element</li>
|
||||
<li> ~ Distinct border for Shift-Selected element buttons</li>
|
||||
<li>~ Chlorine Ice kills Virus like gaseous and liquid forms</li>
|
||||
<li>~ When window is shortened vertically, canvas will shrink to fit screen</li>
|
||||
<li>[Bug Fixes]</li>
|
||||
<li>~ Fixed: 2- and 4-wide brushes aren't possible with scroll wheel</li>
|
||||
<li>~ Fixed: Tea doesn't stain Paper very well</li>
|
||||
<li>~ Fixed: Fireflies change the color of any pixel they touch</li>
|
||||
<li>~ Fixed: Slow Cloner can't clone more than one element with Shift-Select</li>
|
||||
<li>~ Fixed: Slow Cloner doesn't immediately grab element</li>
|
||||
<li>~ Fixed: E-cloners can clone Walls</li>
|
||||
<li>~ Fixed: Outline View uses white outline with custom URL backgrounds</li>
|
||||
<li>~ Fixed: Heaters, Coolers, and Cloners can be mixed without holding Shift</li>
|
||||
<li>~ Fixed: Language isn't autoselected for Brazilian Portuguese or Chinese</li>
|
||||
<li>[Technical]</li>
|
||||
<li>+ chargePixel(pixel, amount?) helper function to easily shock a pixel</li>
|
||||
<li>+ burnPixel(pixel) helper function to easily ignite a pixel</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="1.13">[Version 1.13 - December 17, 2025 - Gizmos & Gadgets]</h2>
|
||||
<ul>
|
||||
<li>+ Filter</li>
|
||||
<li> + Only allows the first element it touches to pass</li>
|
||||
<li>+ Gate</li>
|
||||
<li> + Only allows pixels to pass if electrified</li>
|
||||
<li> + Only conducts electricity into itself and Wire</li>
|
||||
<li>+ Canvas background images</li>
|
||||
<li> + Some presets and custom image URLs</li>
|
||||
<li>+ Outline View (Press 5)</li>
|
||||
<li>+ 2-wide and 4-wide brushes</li>
|
||||
<li>+ Ruler tool in Special to measure lengths and angles</li>
|
||||
<li>+ Manual element control</li>
|
||||
<li> + Shift-clicking certain element buttons prompt the user for more information</li>
|
||||
<li> + Erase tool allows only deleting certain elements</li>
|
||||
<li> + Cloners allow multiple comma-separated elements</li>
|
||||
<li> + Filters allow states (solid, liquid, or gas) or multiple elements</li>
|
||||
<li> + Sensors allow sensing specific elements</li>
|
||||
<li> + Portals allow the setting of channels</li>
|
||||
<li> + Void allows only deleting certain elements</li>
|
||||
<li> + Random tool allows pre-selected element choices</li>
|
||||
<li> + Explosion allows custom radius</li>
|
||||
<li> + Antibombs allow pre-selected explosion elements</li>
|
||||
<li>~ Replaced LED Red, Green, and Blue with a single customizable LED</li>
|
||||
<li> ~ LEDs in old saves are automatically converted to the new element</li>
|
||||
<li>- Merged Superheaters and Freezers with Heaters and Coolers</li>
|
||||
<li> + Heaters can be heated to heat the same as a Superheater</li>
|
||||
<li> + Coolers can be cooled to cool the same as a Freezer</li>
|
||||
<li>- Removed Tesla Coil and Shocker</li>
|
||||
<li> ~ These elements in old saves are automatically converted to E-cloners</li>
|
||||
<li>~ Drag tool is faster and smoother</li>
|
||||
<li>~ Pixelated and colorful button borders</li>
|
||||
<li>+ Translations for Swedish</li>
|
||||
<li>+ Partial translations for Japanese, Thai, Arabic, Hebrew, and Viossa</li>
|
||||
<li>[Changes]</li>
|
||||
<li>+ Pipes can transport pixels directly with Filter and Gate</li>
|
||||
<li>~ Pipes no longer conduct heat</li>
|
||||
<li>~ Brightened blue stage in Pipes</li>
|
||||
<li>~ Incomplete pipes darken after being initialized</li>
|
||||
<li>+ Oxygen can be used to dispose Molten Lead in reactors</li>
|
||||
<li>+ Electrolysis of raw Salt</li>
|
||||
<li>+ Smashing hot Cooked Meat releases Grease</li>
|
||||
<li>+ Worms can compost Lettuce, Tomato, Corn, Pickle, and Bread</li>
|
||||
<li>+ Rats can eat Spiders</li>
|
||||
<li>+ Caramel and Herb make peppermint-colored sugar</li>
|
||||
<li>+ Baking Soda can be made with Lye and Carbon Dioxide</li>
|
||||
<li>+ Melting Ash with Dirt creates Tuff</li>
|
||||
<li>~ Poison Gas no longer makes Slag from molten elements</li>
|
||||
<li>~ Perfume can exist at room temperature</li>
|
||||
<li>~ Acid doesn't dissolve Mercury or Diamond</li>
|
||||
<li>~ Sulfur ignites when hot</li>
|
||||
<li>~ All Cloud types can be smashed like Rain Cloud</li>
|
||||
<li>~ Thermite burns into less Iron</li>
|
||||
<li>~ Rock Wall deletes Light when placed over it for better eclipses</li>
|
||||
<li>- Removed Gallium-Sodium reaction</li>
|
||||
<li>~ Copper Sulfate reacts with more carbs</li>
|
||||
<li>~ Rainbow recipe uses Pointer instead of Flash</li>
|
||||
<li>~ Bless deletes Strange Matter instead of turning it into Neutron</li>
|
||||
<li>+ Static recipe</li>
|
||||
<li>+ Malware can mix with some metals to create machine parts</li>
|
||||
<li>+ Tea stains Paper</li>
|
||||
<li>+ Unique fire color for Tin</li>
|
||||
<li>~ Element buttons are consistently spaced on all sides</li>
|
||||
<li>~ Recolored Pyrite</li>
|
||||
<li>~ Acid has a smoother texture</li>
|
||||
<li>~ Purple Gold is slightly more purple</li>
|
||||
<li>~ Hyphae and Lichen are grainier</li>
|
||||
<li>~ Recolored Random button</li>
|
||||
<li>~ Recolored Balloon button</li>
|
||||
<li>~ Recolored Confetti button</li>
|
||||
<li>~ Recolored Hair button</li>
|
||||
<li>~ Recolored Pistil button</li>
|
||||
<li>~ Reordered colors in many buttons for consistent "lighting" look</li>
|
||||
<li>~ Rice, Candy, Nut Oil, Dye, Rainbow, and Spray Paint buttons display with dark text</li>
|
||||
<li>+ Firefly alias 'Lightning Bug'</li>
|
||||
<li>~ Shortened hiding setting labels</li>
|
||||
<li>~ Language should automatically be set from browser preferences (Untested)</li>
|
||||
<li>~ Re-saving after saving automatically fills in name, author, and description</li>
|
||||
<li>~ Save browser thumbnails are crisper</li>
|
||||
<li>~ Steam Deck compliance</li>
|
||||
<li>[Technical]</li>
|
||||
<li>+ 'onShiftSelect' element property, called when selecting element while holding Shift</li>
|
||||
<li>+ 'onlyConduct' element property, list of the only elements to conduct electricity into</li>
|
||||
<li>+ 'renderTool' element property, renderer function called once per frame while selected</li>
|
||||
<li>+ 'updateOrder' element property, prioritizes (positive) or deprioritizes (negative) tick order (integer; default 0)</li>
|
||||
<li>+ autoResizeRatio(height,width) function (e.g. (16,9))</li>
|
||||
<li>~ 'shiftDown' variable is set even when in a menu</li>
|
||||
<li>[Bug Fixes]</li>
|
||||
<li>~ Fixed: Placing Humans with Replace Mode causes a gory mess</li>
|
||||
<li>~ Fixed: Using Human on Cloners cause a gory mess</li>
|
||||
<li>~ Fixed: Bottom pixels can be cut off on certain window sizes</li>
|
||||
<li>~ Fixed: Line-drawing preview is opaque when using a theme</li>
|
||||
<li>~ Fixed: Text in Debug popup can't be selected</li>
|
||||
<li>~ Fixed: onClicked passes "unknown" when no element is selected, now passes null</li>
|
||||
<li>~ Fixed: onMouseDown doesn't get called on mobile</li>
|
||||
<li>~ Fixed: onMouseDown is called when clicking out of a menu</li>
|
||||
<li>~ Fixed: Using Heat Ray on Stained Glass can make Rainbows</li>
|
||||
<li>~ Fixed: Saves with pipes containing invalid elements fail to load</li>
|
||||
<li>~ Fixed: Some Fireflies stay illuminated after hitting another</li>
|
||||
<li>~ Fixed: Liquid/gaseous pixels with 'skip' property can be displaced by denser pixels</li>
|
||||
<li>~ Fixed: Salt isn't considered a food and can't be eaten by Humans</li>
|
||||
<li>~ Fixed: Corn can't be dragged or put into Pipes</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="1.12">[Version 1.12 - July 17, 2025 - Saves For All]</h2>
|
||||
<ul>
|
||||
<li>+ Featured Saves tab</li>
|
||||
|
|
|
|||
127
changelog.txt
127
changelog.txt
|
|
@ -4,6 +4,133 @@ See sneak peaks for upcoming updates on the Discord: https://discord.gg/ejUc6YPQ
|
|||
|
||||
A fancier version of this changelog can be found here: https://sandboxels.R74n.com/changelog
|
||||
|
||||
[Version 1.13.1 - December 18, 2025 - G&G Hotfix]
|
||||
~ This is a quick group of bug fixes and improvements following yesterday's update.
|
||||
+ More Shift-Select functionality:
|
||||
+ Fuse can turn into an element after charged
|
||||
+ Filler can turn into an element after cloning itself
|
||||
+ Heat and Cool tools can specify limits
|
||||
+ Paint tool can specify a specific element to paint
|
||||
+ Udder can dispense a specific element
|
||||
~ Distinct border for Shift-Selected element buttons
|
||||
~ Chlorine Ice kills Virus like gaseous and liquid forms
|
||||
~ When window is shortened vertically, canvas will shrink to fit screen
|
||||
[Bug Fixes]
|
||||
~ Fixed: 2- and 4-wide brushes aren't possible with scroll wheel
|
||||
~ Fixed: Tea doesn't stain Paper very well
|
||||
~ Fixed: Fireflies change the color of any pixel they touch
|
||||
~ Fixed: Slow Cloner can't clone more than one element with Shift-Select
|
||||
~ Fixed: Slow Cloner doesn't immediately grab element
|
||||
~ Fixed: E-cloners can clone Walls
|
||||
~ Fixed: Outline View uses white outline with custom URL backgrounds
|
||||
~ Fixed: Heaters, Coolers, and Cloners can be mixed without holding Shift
|
||||
~ Fixed: Language isn't autoselected for Brazilian Portuguese or Chinese
|
||||
[Technical]
|
||||
+ chargePixel(pixel, amount?) helper function to easily shock a pixel
|
||||
+ burnPixel(pixel) helper function to easily ignite a pixel
|
||||
|
||||
[Version 1.13 - December 17, 2025 - Gizmos & Gadgets]
|
||||
+ Filter
|
||||
+ Only allows the first element it touches to pass
|
||||
+ Gate
|
||||
+ Only allows pixels to pass if electrified
|
||||
+ Only conducts electricity into itself and Wire
|
||||
+ Canvas background images
|
||||
+ Some presets and custom image URLs
|
||||
+ Outline View (Press 5)
|
||||
+ 2-wide and 4-wide brushes
|
||||
+ Ruler tool in Special to measure lengths and angles
|
||||
+ Manual element control
|
||||
+ Shift-clicking certain element buttons prompt the user for more information
|
||||
+ Erase tool allows only deleting certain elements
|
||||
+ Cloners allow multiple comma-separated elements
|
||||
+ Filters allow states (solid, liquid, or gas) or multiple elements
|
||||
+ Sensors allow sensing specific elements
|
||||
+ Portals allow the setting of channels
|
||||
+ Void allows only deleting certain elements
|
||||
+ Random tool allows pre-selected element choices
|
||||
+ Explosion allows custom radius
|
||||
+ Antibombs allow pre-selected explosion elements
|
||||
~ Replaced LED Red, Green, and Blue with a single customizable LED
|
||||
~ LEDs in old saves are automatically converted to the new element
|
||||
- Merged Superheaters and Freezers with Heaters and Coolers
|
||||
+ Heaters can be heated to heat the same as a Superheater
|
||||
+ Coolers can be cooled to cool the same as a Freezer
|
||||
- Removed Tesla Coil and Shocker
|
||||
~ These elements in old saves are automatically converted to E-cloners
|
||||
~ Drag tool is faster and smoother
|
||||
~ Pixelated and colorful button borders
|
||||
+ Translations for Swedish
|
||||
+ Partial translations for Japanese, Thai, Arabic, Hebrew, and Viossa
|
||||
[Changes]
|
||||
+ Pipes can transport pixels directly with Filter and Gate
|
||||
~ Pipes no longer conduct heat
|
||||
~ Brightened blue stage in Pipes
|
||||
~ Incomplete pipes darken after being initialized
|
||||
+ Oxygen can be used to dispose Molten Lead in reactors
|
||||
+ Electrolysis of raw Salt
|
||||
+ Smashing hot Cooked Meat releases Grease
|
||||
+ Worms can compost Lettuce, Tomato, Corn, Pickle, and Bread
|
||||
+ Rats can eat Spiders
|
||||
+ Caramel and Herb make peppermint-colored sugar
|
||||
+ Baking Soda can be made with Lye and Carbon Dioxide
|
||||
+ Melting Ash with Dirt creates Tuff
|
||||
~ Poison Gas no longer makes Slag from molten elements
|
||||
~ Perfume can exist at room temperature
|
||||
~ Acid doesn't dissolve Mercury or Diamond
|
||||
~ Sulfur ignites when hot
|
||||
~ All Cloud types can be smashed like Rain Cloud
|
||||
~ Thermite burns into less Iron
|
||||
~ Rock Wall deletes Light when placed over it for better eclipses
|
||||
- Removed Gallium-Sodium reaction
|
||||
~ Copper Sulfate reacts with more carbs
|
||||
~ Rainbow recipe uses Pointer instead of Flash
|
||||
~ Bless deletes Strange Matter instead of turning it into Neutron
|
||||
+ Static recipe
|
||||
+ Malware can mix with some metals to create machine parts
|
||||
+ Tea stains Paper
|
||||
+ Unique fire color for Tin
|
||||
~ Element buttons are consistently spaced on all sides
|
||||
~ Recolored Pyrite
|
||||
~ Acid has a smoother texture
|
||||
~ Purple Gold is slightly more purple
|
||||
~ Hyphae and Lichen are grainier
|
||||
~ Recolored Random button
|
||||
~ Recolored Balloon button
|
||||
~ Recolored Confetti button
|
||||
~ Recolored Hair button
|
||||
~ Recolored Pistil button
|
||||
~ Reordered colors in many buttons for consistent "lighting" look
|
||||
~ Rice, Candy, Nut Oil, Dye, Rainbow, and Spray Paint buttons display with dark text
|
||||
+ Firefly alias 'Lightning Bug'
|
||||
~ Shortened hiding setting labels
|
||||
~ Language should automatically be set from browser preferences (Untested)
|
||||
~ Re-saving after saving automatically fills in name, author, and description
|
||||
~ Save browser thumbnails are crisper
|
||||
~ Steam Deck compliance
|
||||
[Technical]
|
||||
+ 'onShiftSelect' element property, called when selecting element while holding Shift
|
||||
+ 'onlyConduct' element property, list of the only elements to conduct electricity into
|
||||
+ 'renderTool' element property, renderer function called once per frame while selected
|
||||
+ 'updateOrder' element property, prioritizes (positive) or deprioritizes (negative) tick order (integer; default 0)
|
||||
+ autoResizeRatio(height,width) function (e.g. (16,9))
|
||||
~ 'shiftDown' variable is set even when in a menu
|
||||
[Bug Fixes]
|
||||
~ Fixed: Placing Humans with Replace Mode causes a gory mess
|
||||
~ Fixed: Using Human on Cloners cause a gory mess
|
||||
~ Fixed: Bottom pixels can be cut off on certain window sizes
|
||||
~ Fixed: Line-drawing preview is opaque when using a theme
|
||||
~ Fixed: Text in Debug popup can't be selected
|
||||
~ Fixed: onClicked passes "unknown" when no element is selected, now passes null
|
||||
~ Fixed: onMouseDown doesn't get called on mobile
|
||||
~ Fixed: onMouseDown is called when clicking out of a menu
|
||||
~ Fixed: Using Heat Ray on Stained Glass can make Rainbows
|
||||
~ Fixed: Saves with pipes containing invalid elements fail to load
|
||||
~ Fixed: Some Fireflies stay illuminated after hitting another
|
||||
~ Fixed: Liquid/gaseous pixels with 'skip' property can be displaced by denser pixels
|
||||
~ Fixed: Salt isn't considered a food and can't be eaten by Humans
|
||||
~ Fixed: Corn can't be dragged or put into Pipes
|
||||
|
||||
[Version 1.12 - July 17, 2025 - Saves For All]
|
||||
+ Featured Saves tab
|
||||
+ Discord Saves tab
|
||||
|
|
|
|||
|
|
@ -106,6 +106,7 @@
|
|||
<tr><td>Thermal view</td> <td><kbd>2</kbd></td></tr>
|
||||
<tr><td>Basic view (No effects)</td> <td><kbd>3</kbd></td></tr>
|
||||
<tr><td>Streak view</td> <td><kbd>4</kbd></td></tr>
|
||||
<tr><td>Outline view</td> <td><kbd>5</kbd></td></tr>
|
||||
<tr><td>Hide canvas</td> <td><kbd>H</kbd></td></tr>
|
||||
<tr><td>Toggle GUI</td> <td><kbd>F1</kbd></td></tr>
|
||||
<tr><td>Capture screenshot</td> <td><kbd>C</kbd> or <kbd>F2</kbd></td></tr>
|
||||
|
|
@ -113,6 +114,7 @@
|
|||
<tr><td>Close menu or Clear logs</td> <td><kbd>Esc</kbd></td></tr>
|
||||
<tr><td>Toggle Replace mode</td> <td><kbd>;</kbd></td></tr>
|
||||
<tr><td>Pick element (Copy properties)</td> <td><kbd>Shift</kbd> + <kbd>Middle Click</kbd></td></tr>
|
||||
<tr><td>Extra manual element controls</td> <td><kbd>Shift</kbd> + <kbd>Element Button</kbd></td></tr>
|
||||
<tr><td>Select secondary element</td> <td><kbd>Z</kbd></td></tr>
|
||||
<tr><td>Select previous element</td> <td><kbd>Backspace</kbd></td></tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ F or F11 = Toggle Fullscreen
|
|||
2 = Thermal View
|
||||
3 = Basic View (No Effects)
|
||||
4 = Streak View
|
||||
5 = Outline View
|
||||
H = Hide Canvas
|
||||
F1 = Toggle GUI / HUD
|
||||
F2 or C = Capture Screenshot
|
||||
|
|
@ -41,6 +42,7 @@ Ctrl + Shift + O = Reload last save
|
|||
Escape = Close Menu / Clear Logs
|
||||
; = Replace Mode
|
||||
Shift + Mid Click = Pick Element (Copy Properties)
|
||||
Shift + Button = Extra manual element controls
|
||||
Z = Select Secondary Element
|
||||
Baskspace = Select Previous Element
|
||||
|
||||
|
|
|
|||
2599
index.html
2599
index.html
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{}
|
||||
{"#lang.name":"ελληνικά\n","land":"γη","liquids":"υγρά","life":"ζωή","powders":"σκόνες","solids":"στερεά","energy":"ενέργεια","weapons":"όπλα","gases":"αέρια","food":"τροφή","machines":"μηχανές","special":"ενέργεια","other":"άλλα","states":"πολιτείες\n","heat":"θερμότητα","cool":"ψύξη","erase":"εξάλειψη\n","drag":"σέρνω","pick":"διαλέγω","mix":"Μείγμα","lookup":"αναζήτηση","shock":"ηλεκτροσόκ","paint":"Βάψιμο","sand":"άμμος","water":"Νερό","salt_water":"Θαλασσόνερο","sugar_water":"Zαχαρόνερο ","seltzer":"Ανθρακούχο νερό","dirty_water":"Βρόμικο νερό","pool_water":"Νερό πισίνας","dirt":"Χώμα","mud":"Λάσπη","wet_sand":"Βρεγμένη άμμος","rock":"Πέτρα","rock_wall":"Πέτρινος τοίχος","mudstone":"Iλύλιθος","packed_sand":"Συμπιεσμένη άμμος","plant":"φυτό","dead_plant":"Νεκρό φυτό","frozen_plant":"Παγωμένο νερό","grass":"Γυαλί","algae":"άλγη ","concrete":"τσιμέντο","wall":"τείχος","fire":"Φωτιά","bomb":"Βόμβα","steam":"Ατμός","ice":"Πάγος"}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"#lang.name":"English","land":"land","liquids":"liquids","states":"X ice = 🧊 X, molten X = 🌋X","grass":"grass","algae":"algae","concrete":"concrete","wall":"wall","fire":"fire","bomb":"bomb","steam":"steam","ice":"ice","rime":"rime","snow":"snow","gui.settingLabel-theme":"Theme","gui.settingsReset":"Reset Scene","gui.settingsRefresh":"Refresh Page","gui.savesTabLocal":"Local","gui.savesTabFeatured":"Featured","gui.savesTabWorkshop":"Workshop","gui.savesTabDiscord":"Discord","lye":"lye","molten_lye":"molten_lye","gui.setting-border-destroyable":"Destroyable"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{}
|
||||
{"#lang.name":"Pilipino","land":"lupa","liquids":"mga_likido","life":"bukay","solids":"mga_solido","energy":"enerhiya","weapons":"mga_armas","gases":"mga gas","food":"pagkain","machines":"makinarya","special":"espesyal","heat":"init","cool":"lamig","erase":"burahin","pick":"pili","mix":"paghahalo","lookup":"paghahanap","paint":"pinta","sand":"buhangin","water":"tubig","salt_water":"tubig-alat","sugar_water":"tubig_ng_asal","seltzer":"seltser","dirty_water":"maruming_tubig","pool_water":"tubig_sa_pool","dirt":"dumi","wet_sand":"basang_buhangin","rock":"bato","rock_wall":"pader_na_bato","plant":"halaman","dead_plant":"patay_na_halaman","frozen_plant":"nagyelo_na_halaman","grass":"damo","algae":"algae","concrete":"kongkreto","wall":"pader","fire":"apoy","bomb":"bomba","steam":"singaw","ice":"yelo","wood":"kahoy","smoke":"usok","magma":"magma","plasma":"plasma","cold_fire":"malamig_na_apoy","glass":"salamin","rad_glass":"salamin na_radioactive","salt":"asin","sugar":"asukal","cement":"semento","sun":"araw","cell":"cell","cancer":"kanser","dna":"dna","plague":"salot","worm":"uod","spider":"gagamba","fly":"langaw","bee":"bubuyog","human":"tao","body":"katawan","head":"ulo","bird":"ibon","rat":"daga","fish":"isda","pipe":"tubo","pipe_wall":"dingding_ng_tubo","mixer":"panghahalo","bone":"buto","ball":"bola","ash":"abo","molten_ash":"tinunaw na abo","light":"liwanag","liquid_light":"likidong ilaw","laser":"laser","charcoal":"uling","hydrogen":"hydrogen","oxygen":"oxygen","nitrogen":"nitrogen","helium":"helium","carbon_dioxide":"carbon_dioxide"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{"#lang.name":"Nederlands","land":"Land","liquids":"Vloeistoffen","life":"Leven","powders":"Poeder","solids":"Vaste stoffen","energy":"Energie","weapons":"Wapens","gases":"Gassen","food":"Eten","machines":"Machines","special":"Special","other":"Anderen","states":"Staten","heat":"Warmte","cool":"Koud","erase":"Uitgummen","drag":"Mee slepen","pick":"Pakken","mix":"Mix","lookup":"Op Zoeken","shock":"Schok","paint":"Verfen","sand":"Zand","water":"Water","salt_water":"Zout Water","sugar_water":"Suiker Water","seltzer":"seltzer","dirty_water":"Vies water","pool_water":"Zwembad water","dirt":"Aarde","mud":"Modder","wet_sand":"Nat zand","rock":"Steen","rock_wall":"Stenen muur","mudstone":"Moddersteen","packed_sand":"Ingepakt zand","plant":"Plant","dead_plant":"Dode plant","frozen_plant":"Bevroren plant","grass":"Gras","algae":"Algen","concrete":"Beton","wall":"Muur","fire":"Vuur","bomb":"Bom","steam":"Stoom","ice":"ijs","rime":"Rijp","snow":"Sneeuw","slush":"Dik water","packed_snow":"Verpakte sneeuw","wood":"Hout","smoke":"Rook","magma":"Lava","plasma":"Heet Vuur","cold_fire":"Koud Vuur","glass":"Glas","molten_glass":"Gesmolten Glas","molten_rad_glass":"Gesmolten radioactief glas","rad_glass":"Radioactief glas","meat":"Vlees","rotten_meat":"Verrot Vlees","cured_meat":"Gepekeld Vlees","cooked_meat":"Gekookt Vlees","frozen_meat":"Bevroren Vlees","salt":"Zout","molten_salt":"Gesmolten zout","sugar":"Suiker","flour":"Meel","wire":"Stroomdraad","battery":"Batterij","cloner":"Klonen","sensor":"Sensor","heater":"Verwarming","cooler":"Koeler","random":"Willekeurig","image":"Afbeelding","unpaint":"Verf ongedaan maken","uncharge":"Elektriciteit ongedaan maken","unburn":"Brand ongedaan maken","smash":"Breek","filler":"Opvuller","lattice":"Rooster","gravel":"Grind","slime":"Slijm","cement":"Cement","dust":"Stof","void":"Zwart Gat","sun":"Zon","cell":"Cel","cancer":"Kanker","dna":"DNA","plague":"Plaag","worm":"Worm","frozen_worm":"Bevroren Worm","flea":"Vlo","termite":"Termiet","ant":"Mier","spider":"Spin","web":"Spinnenweb","fly":"Vlieg","firefly":"Vuurvlieg","bee":"Bij","hive":"Bijenkorf","stink_bug":"Stink insect","dead_bug":"Dood Insect","human":"Mens","body":"Lichaam","head":"Hoofd","bird":"Vogel","rat":"Rat","frog":"Kikker","frozen_frog":"Bevroren Kikker","tadpole":"Kikkervisje","fish":"Vis","frozen_fish":"Bevroren Vis","slug":"Naaktslak","snail":"Slak","burner":"Brander","superheater":"Super verwarming","freezer":"vriezer","pipe":"Pijp","pipe_wall":"Pijp muur","mixer":"Meng","grinder":"Slijper","fuse":"Lont","ewall":"Elektrische muur","torch":"Fakkel","spout":"Waterspuit","udder":"Uier","bone_marrow":"Beenmerg","bone":"Bot","ball":"Bal","balloon":"Ballon","antipowder":"Anti poeder","antimolten":"Gesmolten anti","antifire":"Anti vuur","antifluid":"Anti vloeistof","antigas":"Anti gas","vertical":"Verticaal","horizontal":"Horizontaal","ash":"As","molten_ash":"Gesmolten as","light":"Licht","liquid_light":"Vloeibaar licht","laser":"Laser","pointer":"Punter","charcoal":"Steenkool\n","tinder":"Tondel","sawdust":"Zaagsel","hail":"Hagel","hydrogen":"Waterstof","oxygen":"Zuurstof","nitrogen":"Stikstof","helium":"Helium","anesthesia":"Anesthesie","carbon_dioxide":"Koolstofdioxide","bubble":"Bubbels","ammonia":"Ammoniak","liquid_ammonia":"Vloeibaar ammoniak","oil":"Olie","lamp_oil":"Kerosine","propane":"Propaan","liquid_propane":"Vloeibaar propaan","methane":"Methaan","liquid_methane":"Vloeibaar methaan","stained_glass":"Gekleurd glas","molten_stained_glass":"Gesmolten gekleurd glas","art":"Kunst","rainbow":"Regenboog","static":"Statisch","border":"Grens","clay":"Klei","clay_soil":"Klei grond","brick":"Steen","ruins":"Ruïne","porcelain":"Porselein","sapling":"Jonge boom","cactus":"Cactus","kelp":"Kelp","seeds":"Zaden","wheat_seed":"Tarwe zaad","straw":"Rietje","paper":"Papier","pollen":"Pollen","cloth":"Wol","cellulose":"Houtstof","wax":"Wax","melted_wax":"Gesmolten wax","incense":"Wierook","dioxin":"Dioxide","insulation":"Isolatie","sponge":"Spons","bamboo":"Bamboe","iron":"IJzer","copper":"Koper","gold":"Goud","steel":"Staal","galvanized_steel":"Gegalvaniseerd staal","zinc":"Zink","silver":"Zilver","tin":"Tin","lead":"Lood","nickel":"Nikkel","aluminum":"Aluminium","tungsten":"Wolfraam","molten_tungsten":"Gesmolten Wolfraam","brass":"Geelkoper","bronze":"Brons","sterling":"Sterling","gallium":"Gallium","molten_gallium":"Gesmolten Gallium","gallium_gas":"Gallium gas","rose_gold":"Rosé goud","purple_gold":"Paars goud\n","blue_gold":"Blauw Goud","electrum":"Groen Goud","pyrite":"Pyriet","solder":"Soldeersel","amber":"Barnsteen","molten_copper":"Gesmolten koper","molten_copper_sulfate":"Gesmolten koper sulfaat","molten_gold":"Gesmolten goud","molten_silver":"Gesmolten zilver","molten_iron":"Gesmolten IJzer","molten_nickel":"Gesmolten nikkel","molten_tin":"Gesmolten tin","molten_lead":"Gesmolten lood","molten_solder":"Gesmolten soldeersel","juice":"Sap","juice_ice":"Sap ijs","broth":"Bouillon"}
|
||||
{"#lang.name":"Nederlands","land":"Land","liquids":"Vloeistoffen","life":"Leven","powders":"Poeder","solids":"Vaste stoffen","energy":"Energie","weapons":"Wapens","gases":"Gassen","food":"Eten","machines":"Machines","special":"Special","other":"Anderen","states":"Staten","heat":"Warmte","cool":"Koud","erase":"Uitgummen","drag":"Mee slepen","pick":"Pakken","mix":"Mix","lookup":"Op Zoeken","shock":"Schok","paint":"Verfen","sand":"Zand","water":"Water","salt_water":"Zout Water","sugar_water":"Suiker Water","seltzer":"seltzer","dirty_water":"Vies water","pool_water":"Zwembad water","dirt":"Aarde","mud":"Modder","wet_sand":"Nat zand","rock":"Steen","rock_wall":"Stenen muur","mudstone":"Moddersteen","packed_sand":"Ingepakt zand","plant":"Plant","dead_plant":"Dode plant","frozen_plant":"Bevroren plant","grass":"Gras","algae":"Algen","concrete":"Beton","wall":"Muur","fire":"Vuur","bomb":"Bom","steam":"Stoom","ice":"ijs","rime":"Rijp","snow":"Sneeuw","slush":"Dik water","packed_snow":"Verpakte sneeuw","wood":"Hout","smoke":"Rook","magma":"Lava","plasma":"Heet Vuur","cold_fire":"Koud Vuur","glass":"Glas","molten_glass":"Gesmolten Glas","molten_rad_glass":"Gesmolten radioactief glas","rad_glass":"Radioactief glas","meat":"Vlees","rotten_meat":"Verrot Vlees","cured_meat":"Gepekeld Vlees","cooked_meat":"Gekookt Vlees","frozen_meat":"Bevroren Vlees","salt":"Zout","molten_salt":"Gesmolten zout","sugar":"Suiker","flour":"Meel","wire":"Stroomdraad","battery":"Batterij","cloner":"Klonen","sensor":"Sensor","heater":"Verwarming","cooler":"Koeler","random":"Willekeurig","image":"Afbeelding","unpaint":"Verf ongedaan maken","uncharge":"Elektriciteit ongedaan maken","unburn":"Brand ongedaan maken","smash":"Breek","filler":"Opvuller","lattice":"Rooster","gravel":"Grind","slime":"Slijm","cement":"Cement","dust":"Stof","void":"Zwart Gat","sun":"Zon","cell":"Cel","cancer":"Kanker","dna":"DNA","plague":"Plaag","worm":"Worm","frozen_worm":"Bevroren Worm","flea":"Vlo","termite":"Termiet","ant":"Mier","spider":"Spin","web":"Spinnenweb","fly":"Vlieg","firefly":"Vuurvlieg","bee":"Bij","hive":"Bijenkorf","stink_bug":"Stink insect","dead_bug":"Dood Insect","human":"Mens","body":"Lichaam","head":"Hoofd","bird":"Vogel","rat":"Rat","frog":"Kikker","frozen_frog":"Bevroren Kikker","tadpole":"Kikkervisje","fish":"Vis","frozen_fish":"Bevroren Vis","slug":"Naaktslak","snail":"Slak","burner":"Brander","superheater":"Super verwarming","freezer":"vriezer","pipe":"Pijp","pipe_wall":"Pijp muur","mixer":"Meng","grinder":"Slijper","fuse":"Lont","ewall":"Elektrische muur","torch":"Fakkel","spout":"Waterspuit","udder":"Uier","bone_marrow":"Beenmerg","bone":"Bot","ball":"Bal","balloon":"Ballon","antipowder":"Anti poeder","antimolten":"Gesmolten anti","antifire":"Anti vuur","antifluid":"Anti vloeistof","antigas":"Anti gas","vertical":"Verticaal","horizontal":"Horizontaal","ash":"As","molten_ash":"Gesmolten as","light":"Licht","liquid_light":"Vloeibaar licht","laser":"Laser","pointer":"Punter","charcoal":"Steenkool\n","tinder":"Tondel","sawdust":"Zaagsel","hail":"Hagel","hydrogen":"Waterstof","oxygen":"Zuurstof","nitrogen":"Stikstof","helium":"Helium","anesthesia":"Anesthesie","carbon_dioxide":"Koolstofdioxide","bubble":"Bubbels","ammonia":"Ammoniak","liquid_ammonia":"Vloeibaar ammoniak","oil":"Olie","lamp_oil":"Kerosine","propane":"Propaan","liquid_propane":"Vloeibaar propaan","methane":"Methaan","liquid_methane":"Vloeibaar methaan","stained_glass":"Gekleurd glas","molten_stained_glass":"Gesmolten gekleurd glas","art":"Kunst","rainbow":"Regenboog","static":"Statisch","border":"Grens","clay":"Klei","clay_soil":"Klei grond","brick":"Steen","ruins":"Ruïne","porcelain":"Porselein","sapling":"Jonge boom","cactus":"Cactus","kelp":"Kelp","seeds":"Zaden","wheat_seed":"Tarwe zaad","straw":"Rietje","paper":"Papier","pollen":"Pollen","cloth":"Wol","cellulose":"Houtstof","wax":"Wax","melted_wax":"Gesmolten wax","incense":"Wierook","dioxin":"Dioxide","insulation":"Isolatie","sponge":"Spons","bamboo":"Bamboe","iron":"IJzer","copper":"Koper","gold":"Goud","steel":"Staal","galvanized_steel":"Gegalvaniseerd staal","zinc":"Zink","silver":"Zilver","tin":"Tin","lead":"Lood","nickel":"Nikkel","aluminum":"Aluminium","tungsten":"Wolfraam","molten_tungsten":"Gesmolten Wolfraam","brass":"Geelkoper","bronze":"Brons","sterling":"Sterling","gallium":"Gallium","molten_gallium":"Gesmolten Gallium","gallium_gas":"Gallium gas","rose_gold":"Rosé goud","purple_gold":"Paars goud\n","blue_gold":"Blauw Goud","electrum":"Groen Goud","pyrite":"Pyriet","solder":"Soldeersel","amber":"Barnsteen","molten_copper":"Gesmolten koper","molten_copper_sulfate":"Gesmolten koper sulfaat","molten_gold":"Gesmolten goud","molten_silver":"Gesmolten zilver","molten_iron":"Gesmolten IJzer","molten_nickel":"Gesmolten nikkel","molten_tin":"Gesmolten tin","molten_lead":"Gesmolten lood","molten_solder":"Gesmolten soldeersel","juice":"Sap","juice_ice":"Sap ijs","broth":"Bouillon","dough":"deeg"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
{}
|
||||
{"#lang.name":"Română","land":"pământ","liquids":"lichide","life":"viață","powders":"pudre","solids":"solide","energy":"energie","weapons":"arme","gases":"gaze","food":"mâncare","machines":"mașinării","special":"special","other":"altele","states":"stări","heat":"căldură","cool":"răcire","erase":"șterge","drag":"trage","pick":"ia","mix":"amestecă","lookup":"caută","shock":"șoc","paint":"vopsea","sand":"nisip","water":"apă","salt_water":"apă_de_sare","sugar_water":"apă_de_zahăr","seltzer":"seltzer","dirty_water":"apă_murdară","pool_water":"apă_de_piscină","dirt":"noroi","mud":"noroi","wet_sand":"nisip_ud","rock":"piatră","plant":"plantă","dead_plant":"plantă_moartă","frozen_plant":"plantă_înghețată","grass":"iarbă","algae":"algă","concrete":"beton","wall":"perete","fire":"foc","bomb":"bombă","steam":"abur","ice":"gheață","snow":"zăpadă","wood":"lemn","smoke":"fum","plasma":"plasmă","glass":"sticlă","meat":"carne","salt":"sare","sugar":"zahăr","flour":"făină","wire":"fir","battery":"baterie","cloner":"clonator","sensor":"senzor","random":"aleatoriu","image":"imagine","dust":"praf","void":"vid","sun":"soare","cancer":"cancer","dna":"adn","plague":"ciumă","worm":"vierme","spider":"păianjen","fly":"muscă","firefly":"licurici","bee":"albină","hive":"stup","human":"om","body":"corp","head":"cap","bird":"pasăre","rat":"șoarece","fish":"pește","snail":"melc","pipe":"țeavă","torch":"torță","bone_marrow":"măduva_spinării","bone":"os","ball":"minge","balloon":"balon","antipowder":"antipudră","antifire":"antifoc","antifluid":"antifluid","vertical":"vertical","horizontal":"orizontal","ash":"scrum","light":"lumină","laser":"laser","hydrogen":"hidrogen","oxygen":"oxigen","nitrogen":"nitrogen","helium":"heliu","anesthesia":"anestezie","bubble":"bule","oil":"ulei","propane":"propan","methane":"metan","rainbow":"curcubeu","static":"static","border":"graniță","brick":"cărămidă","ruins":"ruine","porcelain":"porțelan","seeds":"semințe","grass_seed":"semințe_de_iarbă","wheat_seed":"semințe_de_grâu","straw":"pai","paper":"hârtie","pollen":"polen","vine":"liană","foam":"spumă","acid":"acid","glue":"lipici","soda":"suc","virus":"virus"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
924
mod-list.html
924
mod-list.html
|
|
@ -2,27 +2,27 @@
|
|||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Sandboxels Mods + Tutorial</title>
|
||||
<meta name="description" content="List of Sandboxels mods and how to install them.">
|
||||
<meta name="keywords" content="falling sand, elements, pixel art, simulator, powder">
|
||||
<meta name="author" content="R74n">
|
||||
<meta name="copyright" content="R74n">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="robots" content="all">
|
||||
<link rel="canonical" href="https://sandboxels.r74n.com/mod-list" id="canonicalLink"/>
|
||||
<meta charset="utf-8">
|
||||
<title>Sandboxels Mods + Tutorial</title>
|
||||
<meta name="description" content="List of Sandboxels mods and how to install them.">
|
||||
<meta name="keywords" content="falling sand, elements, pixel art, simulator, powder">
|
||||
<meta name="author" content="R74n">
|
||||
<meta name="copyright" content="R74n">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="robots" content="all">
|
||||
<link rel="canonical" href="https://sandboxels.r74n.com/mod-list" id="canonicalLink"/>
|
||||
|
||||
<!--Favicons-->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="icons/apple-touch-icon.png?v=2">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png?v=2">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png?v=2">
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<link rel="mask-icon" href="icons/safari-pinned-tab.svg?v=2" color="#2167ff">
|
||||
<link rel="shortcut icon" href="icons/favicon.ico?v=2">
|
||||
<meta name="msapplication-TileColor" content="#e6d577">
|
||||
<meta name="theme-color" content="#000000">
|
||||
<!--Favicons-->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="icons/apple-touch-icon.png?v=2">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png?v=2">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png?v=2">
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<link rel="mask-icon" href="icons/safari-pinned-tab.svg?v=2" color="#2167ff">
|
||||
<link rel="shortcut icon" href="icons/favicon.ico?v=2">
|
||||
<meta name="msapplication-TileColor" content="#e6d577">
|
||||
<meta name="theme-color" content="#000000">
|
||||
|
||||
<!--OpenGraph-->
|
||||
<!--OpenGraph-->
|
||||
<meta property="og:locale" content="en_US">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Sandboxels Mod List">
|
||||
|
|
@ -44,37 +44,37 @@
|
|||
<meta name="twitter:image:alt" content="Magma falling into Water, forming Steam and Basalt. Pixel art style.">
|
||||
<meta name="twitter:creator:id" content="1436857621827530753">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="style.css?nocache=3">
|
||||
<style>
|
||||
/* on mobile, make h1 fit on one line */
|
||||
@media only screen and (max-width: 800px) {
|
||||
h1 { font-size: 1em; }
|
||||
}
|
||||
#content { font-family: Arial, Helvetica, sans-serif; font-size:1.5em; }
|
||||
h2 { text-align: center; margin-bottom:0; margin-top:45px}
|
||||
th { font-family: 'Press Start 2P', Arial; text-align: center; }
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
font-size: 0.7em
|
||||
}
|
||||
.modCat {
|
||||
font-weight: bold;
|
||||
background-color:#669e9e;
|
||||
color: black;
|
||||
font-family: 'Press Start 2P';
|
||||
font-size: medium;
|
||||
}
|
||||
.deprecated {
|
||||
background-color: rgba(255, 0, 0, 0.125)!important;
|
||||
}
|
||||
.R74nLink {
|
||||
color: #00ffff;
|
||||
}
|
||||
ol li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="style.css?nocache=3">
|
||||
<style>
|
||||
/* on mobile, make h1 fit on one line */
|
||||
@media only screen and (max-width: 800px) {
|
||||
h1 { font-size: 1em; }
|
||||
}
|
||||
#content { font-family: Arial, Helvetica, sans-serif; font-size:1.5em; }
|
||||
h2 { text-align: center; margin-bottom:0; margin-top:45px}
|
||||
th { font-family: 'Press Start 2P', Arial; text-align: center; }
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
font-size: 0.7em
|
||||
}
|
||||
.modCat {
|
||||
font-weight: bold;
|
||||
background-color:#669e9e;
|
||||
color: black;
|
||||
font-family: 'Press Start 2P';
|
||||
font-size: medium;
|
||||
}
|
||||
.deprecated {
|
||||
background-color: rgba(255, 0, 0, 0.125)!important;
|
||||
}
|
||||
.R74nLink {
|
||||
color: #00ffff;
|
||||
}
|
||||
ol li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
@ -82,433 +82,435 @@
|
|||
|
||||
<div id="content">
|
||||
|
||||
<p>Sandboxels has a huge selection of mods that add new content to the simulator. They are created by community members and aren't endorsed by the developer of Sandboxels.</p>
|
||||
<p>Sandboxels has a huge selection of mods that add new content to the simulator. They are created by community members and aren't endorsed by the developer of Sandboxels.</p>
|
||||
|
||||
<p>Jump to: <a href="#Create">Create your own mod</a>, <a href="#Issues">Issues with mods</a></p>
|
||||
<p>Jump to: <a href="#Create">Create your own mod</a>, <a href="#Issues">Issues with mods</a></p>
|
||||
|
||||
<h2 id="Enable">How to enable a mod</h2>
|
||||
<ol>
|
||||
<li>Go to the official <a href="https://sandboxels.R74n.com/">Sandboxels website</a>.</li>
|
||||
<li>Press the <strong>Mods</strong> button in the toolbar to open the Mod Manager.</li>
|
||||
<li>Type the full file name of the mod, listed below. You can also enter a whole URL. It MUST be exactly as written, case-sensitive and including the ".js" ending.</li>
|
||||
<li>Press enter, then refresh the page.</li>
|
||||
</ol>
|
||||
<h2 id="Enable">How to enable a mod</h2>
|
||||
<ol>
|
||||
<li>Go to the official <a href="https://sandboxels.R74n.com/">Sandboxels website</a>.</li>
|
||||
<li>Press the <strong>Mods</strong> button in the toolbar to open the Mod Manager.</li>
|
||||
<li>Type the full file name of the mod, listed below. You can also enter a whole URL. It MUST be exactly as written, case-sensitive and including the ".js" ending.</li>
|
||||
<li>Press enter, then refresh the page.</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="List">Sandboxels Mod List</h2>
|
||||
<p>Mods submitted to our <a href="https://github.com/R74nCom/sandboxels/tree/main/mods" target="_blank">GitHub repo</a> are listed here.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Mod Name</th><th>Description</th><th>Creator</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<h2 id="List">Sandboxels Mod List</h2>
|
||||
<p>Mods submitted to our <a href="https://github.com/R74nCom/sandboxels/tree/main/mods" target="_blank">GitHub repo</a> are listed here.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Mod Name</th><th>Description</th><th>Creator</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Top-rated Mods</td></tr><!---->
|
||||
<!--2024:-->
|
||||
<tr><td>chem.js</td><td>Several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>aChefsDream.js</td><td>More foods, animals, tools, and other cooking items <a href="https://www.youtube.com/playlist?list=PLWHqGb75vC8o7CLv-pMoVb56JL9BY9F0t">[YouTube Playlist]</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
<tr><td>survival.js</td><td>With limited resources, you must craft, sell, and buy to progress</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>nousersthings.js</td><td>Many chemical elements, compounds, and more</td><td>nousernamefound</td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>elementsManager.js</td><td>Create and edit custom elements</td><td>ggod</td></tr>
|
||||
<tr><td>weapons.js</td><td>Variety of different weapons</td><td>Jayd</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Top-rated Mods</td></tr><!---->
|
||||
<!--2024:-->
|
||||
<tr><td>chem.js</td><td>Several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>aChefsDream.js</td><td>More foods, animals, tools, and other cooking items <a href="https://www.youtube.com/playlist?list=PLWHqGb75vC8o7CLv-pMoVb56JL9BY9F0t">[YouTube Playlist]</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
<tr><td>survival.js</td><td>With limited resources, you must craft, sell, and buy to progress</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>nousersthings.js</td><td>Many chemical elements, compounds, and more</td><td>nousernamefound</td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>elementsManager.js</td><td>Create and edit custom elements</td><td>ggod</td></tr>
|
||||
<tr><td>weapons.js</td><td>Variety of different weapons</td><td>Jayd</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
|
||||
<!--2023:-->
|
||||
<!--
|
||||
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together. (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>chem.js</td><td>Several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
<tr><td>edible_everything.js</td><td>Allows every element to be mixed into Batter and Dough</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>devtests.js</td><td>Experimental features from the Sandboxels developer; Currently there is Earthquake in Weapons</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>elementsManager.js</td><td>Create and edit custom elements</td><td>ggod</td></tr>
|
||||
<tr><td>the_ground_og.js</td><td>Several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
<tr><td>velocity.js</td><td>Beta for explosion velocity, and later wind, which may come to the base game in the future</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
-->
|
||||
<!--2023:-->
|
||||
<!--
|
||||
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together. (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>chem.js</td><td>Several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
<tr><td>edible_everything.js</td><td>Allows every element to be mixed into Batter and Dough</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>devtests.js</td><td>Experimental features from the Sandboxels developer; Currently there is Earthquake in Weapons</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>elementsManager.js</td><td>Create and edit custom elements</td><td>ggod</td></tr>
|
||||
<tr><td>the_ground_og.js</td><td>Several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
<tr><td>velocity.js</td><td>Beta for explosion velocity, and later wind, which may come to the base game in the future</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
-->
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Official</td></tr><!---->
|
||||
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>background_changer.js</td><td>Press 'B' to change canvas background to a URL</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>borders.js</td><td>Black borders around pixels (Use bright background)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>building.js</td><td>Building generators and materials</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>classic_explosives.js</td><td>Re-adds 4 explosives removed in v1.9.3</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>classic_textures.js</td><td>Use textures from early versions of the game</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>color_everything.js</td><td>Allows every element to have a custom color</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>death_count.js</td><td>Messages counting when Humans die</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>devsnacks.js</td><td>Extra food ingredients and recipes; Only Tea stuff currently</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>devtests.js</td><td>Experimental features from the Sandboxels developer</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>edible_everything.js</td><td>Allows every element to be mixed into Batter and Dough</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>fools.js</td><td>Re-adds FOOLS Mode</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>fools24.js</td><td>Re-adds the 2024 Multiversal Update (v5.9.1)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>fools25.js</td><td>Re-adds the 2025 Element Modulator</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>glow.js</td><td>[CHROME ONLY] Adds a cool lighting effect to many emissive pixels, like Fire</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>gravity_test.js</td><td>Test for altered gravity, makes all pixels move inward</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>mustard.js</td><td>Mustard and Mustard Seeds</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>rainbow_cursor.js</td><td>Makes your cursor multicolored</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>random_everything.js</td><td>Allows every element to be spawned with Random</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>rich_grain.js</td><td>Changes pixel grain to create richer colors</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>smooth_water.js</td><td>Changes water mechanics so that it flows in one direction until it bounces off of something</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>souls.js</td><td>Human Souls, Ectoplasm, and Tombstones</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>survival.js</td><td>With limited resources, you must craft, sell, and buy to progress</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>velocity.js</td><td>Beta for explosion velocity, and later wind, which may come to the base game in the future</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Official</td></tr><!---->
|
||||
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>building.js</td><td>Building generators and materials</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>classic_explosives.js</td><td>Re-adds 4 explosives removed in v1.9.3</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>classic_textures.js</td><td>Use textures from early versions of the game</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>color_everything.js</td><td>Allows every element to have a custom color</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>death_count.js</td><td>Messages counting when Humans die</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>devsnacks.js</td><td>Extra food ingredients and recipes</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>devtests.js</td><td>Experimental features from the Sandboxels developer</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>edible_everything.js</td><td>Allows every element to be mixed into Batter and Dough</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>fools.js</td><td>Re-adds FOOLS Mode</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>fools24.js</td><td>Re-adds the 2024 Multiversal Update (v5.9.1)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>fools25.js</td><td>Re-adds the 2025 Element Modulator</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>glow.js</td><td>[CHROME ONLY] Adds a cool lighting effect to many emissive pixels, like Fire</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>gravity_test.js</td><td>Test for altered gravity, makes all pixels move inward</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>mustard.js</td><td>Mustard and Mustard Seeds</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>no_blood.js</td><td>Effectively removes Blood and related elements</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>rainbow_cursor.js</td><td>Makes your cursor multicolored</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>random_everything.js</td><td>Allows every element to be spawned with Random</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>rich_grain.js</td><td>Changes pixel grain to create richer colors</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>smooth_water.js</td><td>Changes water mechanics so that it flows in one direction until it bounces off of something</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>souls.js</td><td>Human Souls, Ectoplasm, and Tombstones</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>survival.js</td><td>With limited resources, you must craft, sell, and buy to progress</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>velocity.js</td><td>Beta for explosion velocity, and later wind, which may come to the base game in the future</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Tools & Settings</td></tr><!---->
|
||||
<tr><td>betterModManager.js</td><td>Improvements to the Mod Manager</td><td>ggod</td></tr>
|
||||
<tr><td>betterSettings.js</td><td>Additional settings and functionality</td><td>ggod</td></tr>
|
||||
<tr><td>betterStats.js</td><td>Track actual running TPS of the simulation</td><td>mollthecoder</td></tr>
|
||||
<tr><td>buildingreplicator.js</td><td>Scans and replicates builds anywhere on the screen, along with some preset submitted builds</td><td>nousernamefound</td></tr>
|
||||
<tr><td>change.js</td><td>Tool that only replaces existing pixels</td><td>Alice</td></tr>
|
||||
<tr><td>color_tools.js</td><td>Tools that manipulate colors</td><td>Alice</td></tr>
|
||||
<tr><td>controllable_pixel.js</td><td>Pixel controlled using WASD (keyboard required)</td><td>Jayd</td></tr>
|
||||
<tr><td>cpt_alt.js</td><td>Destructive variant of the controllable pixel</td><td>Alice</td></tr>
|
||||
<tr><td>customtemptools.js</td><td>Customizable temperature tools</td><td>guzzo86</td></tr>
|
||||
<tr><td>debugRework.js</td><td>Revamps the Debug tool</td><td>Fioushemastor</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
<tr><td>descriptions.js</td><td>Descriptions to the info page and tooltips of elements</td><td>mollthecoder</td></tr>
|
||||
<tr><td>editTools.js</td><td>Selections, Copying, Pasting, Cutting, Shapes, and more</td><td>ggod</td></tr>
|
||||
<tr><td>elementEraser.js</td><td>Tool that deletes only desired element</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>elementreplacer.js</td><td>Tool that replaces elements with other elements while keeping their color</td><td>Suss</td></tr>
|
||||
<tr><td>elementsManager.js</td><td>Create and edit custom elements</td><td>ggod</td></tr>
|
||||
<tr><td>evenmoretemptools.js</td><td>Temperature-modifying tools (±350/tick, NaN, and Infinity)</td><td>Alice</td></tr>
|
||||
<tr><td>extra_element_info.js</td><td>Descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanilla</td><td>Melecie</td></tr>
|
||||
<tr><td>extrasaveslots.js</td><td>Extra saves slots [KEEP IMPORTANT SAVES AS FILES!!]</td><td>Jayd</td></tr>
|
||||
<tr><td>find.js</td><td>Find mode that highlights a chosen element as pulsating red and yellow <a href="https://github.com/R74nCom/sandboxels/commit/de0dc088ab4d928c77587b9d0e3a7d7663e3f94a">[More Info]</a></td><td>Alice</td></tr>
|
||||
<tr><td>gasdecay.js</td><td>Gases will slowly decay over time</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hideandshowtools.js</td><td>Tools to hide elements and show hidden elements</td><td>MicaelNotUsed</td><tr>
|
||||
<tr><td>human_friendly_design.js</td><td>Drag and Mix tools don't kill humans</td><td>Nekonico</td></tr>
|
||||
<tr><td>insane_random_events.js</td><td>Massively buffs random events</td><td>Alice</td></tr>
|
||||
<tr><td>jaydsfunctions.js</td><td>Extra tools</td><td>Jayd</td></tr>
|
||||
<tr><td>move_tools.js</td><td>Tools that move pixels</td><td>Alice</td></tr>
|
||||
<tr><td>no_scroll.js</td><td>Disables canvas scrolling, useful for Apple Magic Mouse users</td><td>Crimera Games</td></tr>
|
||||
<tr><td>noconfirm.js</td><td>Removes all confirmation popups</td><td>mollthecoder</td></tr>
|
||||
<tr><td>page_color.js</td><td>Change the page color with the "pageColor" query parameter</td><td>Alice</td></tr>
|
||||
<tr><td>pixelResizeTool.js</td><td>Button to change pixel scale</td><td>feeshmaster</td></tr>
|
||||
<tr><td>prompt.js</td><td>Primitive command console</td><td>Alice</td></tr>
|
||||
<tr><td>prop.js</td><td>Tool to edit the attributes of pixels</td><td>Alice</td></tr>
|
||||
<tr><td>random_everything.js</td><td>Allows every element to be spawned with Random</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>replace_all.js</td><td>Way to replace every pixel of an element with another element <a href="https://github.com/R74nCom/sandboxels/commit/0066cea82345a5bc3a990df858239104e8ca9d44">[More Info]</a></td><td>Alice</td></tr>
|
||||
<tr><td>replace.js</td><td>Tool that replaces every pixel of a specified element with another specified element [" to open]</td><td>Alice</td></tr>
|
||||
<tr><td>save_loading.js</td><td>The ability to save and load scenes from files [See the info page of the element]</td><td>Alice</td></tr>
|
||||
<tr><td>selective_paint.js</td><td>Tool to paint only selected elements</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>stripe_paint.js</td><td>Tool to paint with stripes</td><td>Alice</td></tr>
|
||||
<tr><td>text.js</td><td>Tools to write text</td><td>RedBirdly</td></tr>
|
||||
<tr><td>texturepack.js</td><td>Tools that let you create and share custom texture packs</td><td>nousernamefound</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
<tr><td>worldEdit.js</td><td>Selection and editing tools</td><td>RedBirdly</td></tr>
|
||||
<tr><td>worldgenlibrary.js</td><td>World generation library</td><td>Orchid</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Science & Chemistry</td></tr><!---->
|
||||
<tr><td>alcohol.js</td><td>Methanol, (iso-)propanol, and butanol</td><td>Alice</td></tr>
|
||||
<tr><td>alkahest.js</td><td>The alkahest, a liquid which dissolves anything</td><td>Alice</td></tr>
|
||||
<tr><td>alkali_metal.js</td><td>The missing alkali metals (Inspired by noblegas.js and halogen.js)</td><td>Cube14yt</td><tr>
|
||||
<tr><td>aScientistsWish.js</td><td>Several things related to science and physics</td><td>Carbon Monoxide, salmonfishy</td></tr>
|
||||
<tr><td>bettermetalscrap.js</td><td>Metal scrap can be melted back into its original material</td><td>nousernamefound</td></tr>
|
||||
<tr><td>bigger_star_spawners.js</td><td>Spawners for larger stars</td><td>Alice</td></tr>
|
||||
<tr><td>biology.js</td><td>Various elements and features for building large organisms</td><td>Nekonico</td></tr>
|
||||
<tr><td>bioooze_and_pyrogens.js</td><td>Bio-Ooze from <a href="https://frackinuniverse.miraheze.org/wiki/Main_Page" target="_blank">Frackin' Universe</a> and several heat-producing materials from various games' mods</td><td>Alice</td></tr>
|
||||
<tr><td>boiling_things.js</td><td>Various elements can be vaporized</td><td>Alice</td></tr>
|
||||
<tr><td>bouncing_balls.js</td><td>New types of balls that bounce accurately and roll</td><td>Nekonico</td></tr>
|
||||
<tr><td>chalcopyrite.js</td><td>The chalcopyrite ore</td><td>Sophie</td></tr>
|
||||
<tr><td>chalk.js</td><td>Chalk</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>charsonsmoduno.js</td><td>Arsenic, Beryllium, Silicon, compounds, and some fake elements</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>chem.js</td><td>Several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>clf3.js</td><td>Chlorine Trifluoride</td><td>Alice</td></tr>
|
||||
<tr><td>cmur.js</td><td>CharsonsModUno (???)</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>debrisable.js</td><td>Expands the number of breakable elements, changes erosion, and adds way to craft certain elements from breaking other elements</td><td>Nekonico</td></tr>
|
||||
<tr><td>eklegems.js</td><td>Large amouunt of gemstones and other crystals</td><td>ekle24</td></tr>
|
||||
<tr><td>fire_extinguisher.js</td><td>Fire extinguisher blocks and realistic firefighting foam to put out nearly anything</td><td>Dr_Lego</td></tr>
|
||||
<tr><td>fire_mod.js</td><td>Various properties to change fire behavior and radioactive fire</td><td>Alice</td></tr>
|
||||
<tr><td>fire_slime.js</td><td>Pyrogenic version of slime</td><td>Alice</td></tr>
|
||||
<tr><td>glenn_gases.js</td><td>Most gases from the <a href="https://www.jamieswhiteshirt.com/minecraft/mods/gases/" target="_blank">Glenn's Gases</a> mod into Sandboxels</td><td>Alice</td></tr>
|
||||
<tr><td>grav_mudstones.js</td><td>Various forms of mudstone with different gravities</td><td>Alice</td></tr>
|
||||
<tr><td>halogen.js</td><td>The missing halogens</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hidden_ground.js</td><td>Hides most rock variants from the_ground.js excluding the base rocks and walls</td><td>Melecie</td></tr>
|
||||
<tr><td>iocalfaeus_clones.js</td><td>Iorefrius, Iolucius, and Ioradius gas</td><td>Alice</td></tr>
|
||||
<tr><td>jaydstuff.js</td><td>Various chemicals and compounds</td><td>Jayd</td></tr>
|
||||
<tr><td>laetium.js</td><td>Several fictional elements</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_energy.js</td><td>Liquid versions of the elements in the Energy category</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_mixing.js</td><td>Liquids can mix colors dynamically</td><td>Nekonico</td></tr>
|
||||
<tr><td>lye.js</td><td>Lye</td><td>BatteRaquette58</td></tr>
|
||||
<tr><td>mars.js</td><td>Martian materials</td><td>charcoal_afterlife</td></tr>
|
||||
<tr><td>metals.js</td><td>Several metals</td><td>Alice</td></tr>
|
||||
<tr><td>mixture.js</td><td>Many chemicals can be mixed</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>more_gold.js</td><td>Green and Black Gold</td><td>pixelegend4</td></tr>
|
||||
<tr><td>morechemistry.js</td><td>New chemicals, compounds, and machines</td><td>Orchid</td></tr>
|
||||
<tr><td>moreliquids.js</td><td>Various liquids</td><td>te-agma-at</td></tr>
|
||||
<tr><td>neutronium_compressor.js</td><td>Compressor from Minecraft's Avaritia mod that compresses 10,000 pixels of an element into a singularity</td><td>Alice</td></tr>
|
||||
<tr><td>noblegas.js</td><td>The missing noble gases</td><td>nousernamefound</td></tr>
|
||||
<tr><td>nousersthings.js</td><td>Many chemical elements, compounds, and more</td><td>nousernamefound</td></tr>
|
||||
<tr><td>petal_dye.js</td><td>Boil petals to make dye</td><td>Suss</td></tr>
|
||||
<tr><td>radioactive.js</td><td>Radioactive elements on the periodic table [WIP]</td><td>kaeud</td></tr>
|
||||
<tr><td>random_rocks.js</td><td>Randomly generates rocks on game load</td><td>Alice</td></tr>
|
||||
<tr><td>roseyiede.js</td><td>Several variants of a substance called roseyiede</td><td>Alice</td></tr>
|
||||
<tr><td>solubility.js</td><td>Adds solubility and a simple-to-use format for other mods to use with it</td><td>Orchid</td></tr>
|
||||
<tr><td>some_tf_liquids.js</td><td>Various liquids from the Thermal Foundation Minecraft mod</td><td>Alice</td></tr>
|
||||
<tr><td>stickystuff.js</td><td>Slime, Honey, and others can stick to other elements</td><td>Suss</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Several rocks, worldgen types, and gemstones</td><td>Alice</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Tools & Settings</td></tr><!---->
|
||||
<tr><td>betterModManager.js</td><td>Improvements to the Mod Manager</td><td>ggod</td></tr>
|
||||
<tr><td>betterSettings.js</td><td>Additional settings and functionality</td><td>ggod</td></tr>
|
||||
<tr><td>betterStats.js</td><td>Track actual running TPS of the simulation</td><td>mollthecoder</td></tr>
|
||||
<tr><td>buildingreplicator.js</td><td>Scans and replicates builds anywhere on the screen, along with some preset submitted builds</td><td>nousernamefound</td></tr>
|
||||
<tr><td>change.js</td><td>Tool that only replaces existing pixels</td><td>Alice</td></tr>
|
||||
<tr><td>color_tools.js</td><td>Tools that manipulate colors</td><td>Alice</td></tr>
|
||||
<tr><td>controllable_pixel.js</td><td>Pixel controlled using WASD (keyboard required)</td><td>Jayd</td></tr>
|
||||
<tr><td>cpt_alt.js</td><td>Destructive variant of the controllable pixel</td><td>Alice</td></tr>
|
||||
<tr><td>customtemptools.js</td><td>Customizable temperature tools</td><td>guzzo86</td></tr>
|
||||
<tr><td>debugRework.js</td><td>Revamps the Debug tool</td><td>Fioushemastor</td></tr>
|
||||
<tr><td>delete_all_of_element.js</td><td>Tool that deletes every pixel of the element(s) the user clicks on</td><td>Alice</td></tr>
|
||||
<tr><td>descriptions.js</td><td>Descriptions to the info page and tooltips of elements</td><td>mollthecoder</td></tr>
|
||||
<tr><td>editTools.js</td><td>Selections, Copying, Pasting, Cutting, Shapes, and more</td><td>ggod</td></tr>
|
||||
<tr><td>elementEraser.js</td><td>Tool that deletes only desired element</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>elementreplacer.js</td><td>Tool that replaces elements with other elements while keeping their color</td><td>Suss</td></tr>
|
||||
<tr><td>elementsManager.js</td><td>Create and edit custom elements</td><td>ggod</td></tr>
|
||||
<tr><td>evenmoretemptools.js</td><td>Temperature-modifying tools (±350/tick, NaN, and Infinity)</td><td>Alice</td></tr>
|
||||
<tr><td>extra_element_info.js</td><td>Descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanilla</td><td>Melecie</td></tr>
|
||||
<tr><td>extrasaveslots.js</td><td>Extra saves slots [KEEP IMPORTANT SAVES AS FILES!!]</td><td>Jayd</td></tr>
|
||||
<tr><td>find.js</td><td>Find mode that highlights a chosen element as pulsating red and yellow <a href="https://github.com/R74nCom/sandboxels/commit/de0dc088ab4d928c77587b9d0e3a7d7663e3f94a">[More Info]</a></td><td>Alice</td></tr>
|
||||
<tr><td>gasdecay.js</td><td>Gases will slowly decay over time</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hideandshowtools.js</td><td>Tools to hide elements and show hidden elements</td><td>MicaelNotUsed</td><tr>
|
||||
<tr><td>human_friendly_design.js</td><td>Drag and Mix tools don't kill humans</td><td>Nekonico</td></tr>
|
||||
<tr><td>insane_random_events.js</td><td>Massively buffs random events</td><td>Alice</td></tr>
|
||||
<tr><td>jaydsfunctions.js</td><td>Extra tools</td><td>Jayd</td></tr>
|
||||
<tr><td>move_tools.js</td><td>Tools that move pixels</td><td>Alice</td></tr>
|
||||
<tr><td>no_scroll.js</td><td>Disables canvas scrolling, useful for Apple Magic Mouse users</td><td>Crimera Games</td></tr>
|
||||
<tr><td>noconfirm.js</td><td>Removes all confirmation popups</td><td>mollthecoder</td></tr>
|
||||
<tr><td>page_color.js</td><td>Change the page color with the "pageColor" query parameter</td><td>Alice</td></tr>
|
||||
<tr><td>pixelResizeTool.js</td><td>Button to change pixel scale</td><td>feeshmaster</td></tr>
|
||||
<tr><td>prompt.js</td><td>Primitive command console</td><td>Alice</td></tr>
|
||||
<tr><td>prop.js</td><td>Tool to edit the attributes of pixels</td><td>Alice</td></tr>
|
||||
<tr><td>random_everything.js</td><td>Allows every element to be spawned with Random</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>replace_all.js</td><td>Way to replace every pixel of an element with another element <a href="https://github.com/R74nCom/sandboxels/commit/0066cea82345a5bc3a990df858239104e8ca9d44">[More Info]</a></td><td>Alice</td></tr>
|
||||
<tr><td>replace.js</td><td>Tool that replaces every pixel of a specified element with another specified element [" to open]</td><td>Alice</td></tr>
|
||||
<tr><td>save_loading.js</td><td>The ability to save and load scenes from files [See the info page of the element]</td><td>Alice</td></tr>
|
||||
<tr><td>selective_paint.js</td><td>Tool to paint only selected elements</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>stripe_paint.js</td><td>Tool to paint with stripes</td><td>Alice</td></tr>
|
||||
<tr><td>text.js</td><td>Tools to write text</td><td>RedBirdly</td></tr>
|
||||
<tr><td>texturepack.js</td><td>Tools that let you create and share custom texture packs</td><td>nousernamefound</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
<tr><td>worldEdit.js</td><td>Selection and editing tools</td><td>RedBirdly</td></tr>
|
||||
<tr><td>worldgenlibrary.js</td><td>World generation library</td><td>Orchid</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Machines & Technology</td></tr><!---->
|
||||
<tr><td>circuitcore.js</td><td>Extension for logicgates.js that adds advanced circuits <a href="https://redbirdly.github.io/circuitcore_tutorial.html" target="_blank">[More Info]</a></td><td>RedBirdly</td></tr>
|
||||
<tr><td>clone_liquid.js</td><td>Liquid form of cloner</td><td>Alice</td></tr>
|
||||
<tr><td>colored_lightbulbs.js</td><td>Light bulb that can be painted</td><td>guzzo86, ggod</td></tr>
|
||||
<tr><td>combustion.js</td><td>Components necessary for combustion engines</td><td>uptzik</td></tr>
|
||||
<tr><td>conveyance.js</td><td>Conveyors, operated with and without electricity</td><td>Melecie</td></tr>
|
||||
<tr><td>datawire.js</td><td>Wire that transfers data and other operators and machines for it</td><td>Orchid</td></tr>
|
||||
<tr><td>drill.js</td><td>Drills made out of several materials</td><td>Suss</td></tr>
|
||||
<tr><td>ExtraMachines.js</td><td>Sensors, energy resources, materials, and more</td><td>Mecoolnotcool</td></tr>
|
||||
<tr><td>fans.js</td><td>Fans</td><td>Cube14yt</td></tr>
|
||||
<tr><td>fine_tuned_cloner.js</td><td>Cloner that can spawn at different rates and prevent unwanted cloning</td><td>BatteRaquette58</td></tr>
|
||||
<tr><td>flipflop.js</td><td>Toggleable switches <a href="https://github.com/R74nCom/sandboxels/pull/134">[More Info]</a></td><td>Flix</td></tr>
|
||||
<tr><td>fueled_generators.js</td><td>Fuel powered generators</td><td>guzzo86</td></tr>
|
||||
<tr><td>gameOfLife.js</td><td>Conway's Game of Life on a screen</td><td>ggod</td></tr>
|
||||
<tr><td>heatshield.js</td><td>Heatshields, makes Plasma cooler</td></td><td>Taterbob</td></tr>
|
||||
<tr><td>human_friendly_design.js</td><td>Pipes, Portals, Drag, and Mix don't kill humans</td><td>Nekonico</td></tr>
|
||||
<tr><td>industry.js</td><td>Conveyors and emitters for most energy types</td><td>pogdog</td></tr>
|
||||
<tr><td>logicgates.js</td><td>Predictable electricity and logic gates</td><td>nousernamefound</td></tr>
|
||||
<tr><td>note_block_advanced.js</td><td>Edit of Alice's note_block.js, adds different blocks with different frequencies</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>note_block.js</td><td>Musical Note Blocks</td><td>Alice</td></tr>
|
||||
<tr><td>nousersthings.js</td><td>Destroyable machines, pipe variants, filters, and more</td><td>nousernamefound</td></tr>
|
||||
<tr><td>portal.js</td><td>Portals that can teleport pixels</td><td>Alice</td></tr>
|
||||
<tr><td>pullers.js</td><td>Pixels that pull pixels towards them</td><td>voidapex11</td></tr>
|
||||
<tr><td>pushers.js</td><td>Pixels that push elements away from them</td><td>Alice</td></tr>
|
||||
<tr><td>sandboxels.js</td><td>Digital screen to play a mini version of Sandboxels</td><td>Nekonico</td></tr>
|
||||
<tr><td>schematics.js</td><td>Schematics for logic gates</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>spouts.js</td><td>Spouts for all liquids</td><td>kaeud</td></tr>
|
||||
<tr><td>state_voids.js</td><td>Several elements that delete specific states of matter</td><td>Alice</td></tr>
|
||||
<tr><td>switches.js</td><td>Electrical switches that can be toggled</td><td>Alice</td></tr>
|
||||
<tr><td>thiquovite.js</td><td>Thiquovite and wall builders</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>ticking_temp_stuff.js</td><td>Heater and Cooler variants</td><td>Alice</td></tr>
|
||||
<tr><td>video.js</td><td>Video player</td><td>ggod</td></tr>
|
||||
<tr><td>waterspout.js</td><td>Re-adds the old Water Spout</td><td>mollthecoder</td></tr>
|
||||
<tr><td>WhisperingTheory.js</td><td>Many more variants of heater and cooler</td><td>kaeud</td></tr>
|
||||
<tr><td>wifi_draw.js</td><td>Connections between WiFi in wifi.js and logicgates.js</td><td>RedBirdly</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Science & Chemistry</td></tr><!---->
|
||||
<tr><td>alcohol.js</td><td>Methanol, (iso-)propanol, and butanol</td><td>Alice</td></tr>
|
||||
<tr><td>alkahest.js</td><td>The alkahest, a liquid which dissolves anything</td><td>Alice</td></tr>
|
||||
<tr><td>alkali_metal.js</td><td>The missing alkali metals (Inspired by noblegas.js and halogen.js)</td><td>Cube14yt</td><tr>
|
||||
<tr><td>aScientistsWish.js</td><td>Several things related to science and physics</td><td>Carbon Monoxide, salmonfishy</td></tr>
|
||||
<tr><td>bettermetalscrap.js</td><td>Metal scrap can be melted back into its original material</td><td>nousernamefound</td></tr>
|
||||
<tr><td>bigger_star_spawners.js</td><td>Spawners for larger stars</td><td>Alice</td></tr>
|
||||
<tr><td>biology.js</td><td>Various elements and features for building large organisms</td><td>Nekonico</td></tr>
|
||||
<tr><td>bioooze_and_pyrogens.js</td><td>Bio-Ooze from <a href="https://frackinuniverse.miraheze.org/wiki/Main_Page" target="_blank">Frackin' Universe</a> and several heat-producing materials from various games' mods</td><td>Alice</td></tr>
|
||||
<tr><td>boiling_things.js</td><td>Various elements can be vaporized</td><td>Alice</td></tr>
|
||||
<tr><td>bouncing_balls.js</td><td>New types of balls that bounce accurately and roll</td><td>Nekonico</td></tr>
|
||||
<tr><td>chalcopyrite.js</td><td>The chalcopyrite ore</td><td>Sophie</td></tr>
|
||||
<tr><td>chalk.js</td><td>Chalk</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>charsonsmoduno.js</td><td>Arsenic, Beryllium, Silicon, compounds, and some fake elements</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>chem.js</td><td>Several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>clf3.js</td><td>Chlorine Trifluoride</td><td>Alice</td></tr>
|
||||
<tr><td>cmur.js</td><td>CharsonsModUno (???)</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>debrisable.js</td><td>Expands the number of breakable elements, changes erosion, and adds way to craft certain elements from breaking other elements</td><td>Nekonico</td></tr>
|
||||
<tr><td>eklegems.js</td><td>Large amouunt of gemstones and other crystals</td><td>ekle24</td></tr>
|
||||
<tr><td>fire_extinguisher.js</td><td>Fire extinguisher blocks and realistic firefighting foam to put out nearly anything</td><td>Dr_Lego</td></tr>
|
||||
<tr><td>fire_mod.js</td><td>Various properties to change fire behavior and radioactive fire</td><td>Alice</td></tr>
|
||||
<tr><td>fire_slime.js</td><td>Pyrogenic version of slime</td><td>Alice</td></tr>
|
||||
<tr><td>glenn_gases.js</td><td>Most gases from the <a href="https://www.jamieswhiteshirt.com/minecraft/mods/gases/" target="_blank">Glenn's Gases</a> mod into Sandboxels</td><td>Alice</td></tr>
|
||||
<tr><td>grav_mudstones.js</td><td>Various forms of mudstone with different gravities</td><td>Alice</td></tr>
|
||||
<tr><td>halogen.js</td><td>The missing halogens</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hidden_ground.js</td><td>Hides most rock variants from the_ground.js excluding the base rocks and walls</td><td>Melecie</td></tr>
|
||||
<tr><td>iocalfaeus_clones.js</td><td>Iorefrius, Iolucius, and Ioradius gas</td><td>Alice</td></tr>
|
||||
<tr><td>jaydstuff.js</td><td>Various chemicals and compounds</td><td>Jayd</td></tr>
|
||||
<tr><td>laetium.js</td><td>Several fictional elements</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_energy.js</td><td>Liquid versions of the elements in the Energy category</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_mixing.js</td><td>Liquids can mix colors dynamically</td><td>Nekonico</td></tr>
|
||||
<tr><td>lye.js</td><td>Lye</td><td>BatteRaquette58</td></tr>
|
||||
<tr><td>mars.js</td><td>Martian materials</td><td>charcoal_afterlife</td></tr>
|
||||
<tr><td>metals.js</td><td>Several metals</td><td>Alice</td></tr>
|
||||
<tr><td>mixture.js</td><td>Many chemicals can be mixed</td><td>lllllllllwith10ls</td></tr>
|
||||
<tr><td>more_gold.js</td><td>Green and Black Gold</td><td>pixelegend4</td></tr>
|
||||
<tr><td>morechemistry.js</td><td>New chemicals, compounds, and machines</td><td>Orchid</td></tr>
|
||||
<tr><td>moreliquids.js</td><td>Various liquids</td><td>te-agma-at</td></tr>
|
||||
<tr><td>neutronium_compressor.js</td><td>Compressor from Minecraft's Avaritia mod that compresses 10,000 pixels of an element into a singularity</td><td>Alice</td></tr>
|
||||
<tr><td>noblegas.js</td><td>The missing noble gases</td><td>nousernamefound</td></tr>
|
||||
<tr><td>nousersthings.js</td><td>Many chemical elements, compounds, and more</td><td>nousernamefound</td></tr>
|
||||
<tr><td>petal_dye.js</td><td>Boil petals to make dye</td><td>Suss</td></tr>
|
||||
<tr><td>radioactive.js</td><td>Radioactive elements on the periodic table [WIP]</td><td>kaeud</td></tr>
|
||||
<tr><td>random_rocks.js</td><td>Randomly generates rocks on game load</td><td>Alice</td></tr>
|
||||
<tr><td>roseyiede.js</td><td>Several variants of a substance called roseyiede</td><td>Alice</td></tr>
|
||||
<tr><td>solubility.js</td><td>Adds solubility and a simple-to-use format for other mods to use with it</td><td>Orchid</td></tr>
|
||||
<tr><td>some_tf_liquids.js</td><td>Various liquids from the Thermal Foundation Minecraft mod</td><td>Alice</td></tr>
|
||||
<tr><td>stickystuff.js</td><td>Slime, Honey, and others can stick to other elements</td><td>Suss</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Several rocks, worldgen types, and gemstones</td><td>Alice</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Weapons</td></tr><!---->
|
||||
<tr><td>aircrafts.js</td><td>Aircrafts and aircraft parts</td><td>Jayd</td></tr>
|
||||
<tr><td>c_fighter_jet.js</td><td>Controllable fighter jet [WASD to move, Q+WASD to shoot, GVBN for missiles]</td><td>Jayd</td></tr>
|
||||
<tr><td>guided_rocket.js</td><td>Homing misile</td><td>voidapex11</td></tr>
|
||||
<tr><td>icb.js</td><td>Various levels of nested cluster bombs</td><td>Alice</td></tr>
|
||||
<tr><td>life_eater.js</td><td>Warhammer 40,000's Life-Eater Virus and Virus Bombs</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_void.js</td><td>Liquid variant of Void</td><td>Alice</td></tr>
|
||||
<tr><td>meat_rockets.js</td><td>Rockets that create meat when exploding</td><td>Melecie</td></tr>
|
||||
<tr><td>more_breaking.js</td><td>More elements can be broken</td><td>Alice</td></tr>
|
||||
<tr><td>rays.js</td><td>More Ray types</td><td>Alice</td></tr>
|
||||
<tr><td>rays++.js</td><td>A couple more rays</td><td>uptzik</td></tr>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>subspace.js</td><td>The Subspace Tripmine from Roblox</td><td>nousernamefound</td></tr>
|
||||
<tr><td>war_crimes.js</td><td>Tear gas and more</td><td>voidapex11</td></tr>
|
||||
<tr><td>weapons.js</td><td>Variety of different weapons</td><td>Jayd</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Machines & Technology</td></tr><!---->
|
||||
<tr><td>circuitcore.js</td><td>Extension for logicgates.js that adds advanced circuits <a href="https://redbirdly.github.io/circuitcore_tutorial.html" target="_blank">[More Info]</a></td><td>RedBirdly</td></tr>
|
||||
<tr><td>clone_liquid.js</td><td>Liquid form of cloner</td><td>Alice</td></tr>
|
||||
<tr><td>colored_lightbulbs.js</td><td>Light bulb that can be painted</td><td>guzzo86, ggod</td></tr>
|
||||
<tr><td>combustion.js</td><td>Components necessary for combustion engines</td><td>uptzik</td></tr>
|
||||
<tr><td>conveyance.js</td><td>Conveyors, operated with and without electricity</td><td>Melecie</td></tr>
|
||||
<tr><td>datawire.js</td><td>Wire that transfers data and other operators and machines for it</td><td>Orchid</td></tr>
|
||||
<tr><td>drill.js</td><td>Drills made out of several materials</td><td>Suss</td></tr>
|
||||
<tr><td>ExtraMachines.js</td><td>Sensors, energy resources, materials, and more</td><td>Mecoolnotcool</td></tr>
|
||||
<tr><td>fans.js</td><td>Fans</td><td>Cube14yt</td></tr>
|
||||
<tr><td>fine_tuned_cloner.js</td><td>Cloner that can spawn at different rates and prevent unwanted cloning</td><td>BatteRaquette58</td></tr>
|
||||
<tr><td>flipflop.js</td><td>Toggleable switches <a href="https://github.com/R74nCom/sandboxels/pull/134">[More Info]</a></td><td>Flix</td></tr>
|
||||
<tr><td>fueled_generators.js</td><td>Fuel powered generators</td><td>guzzo86</td></tr>
|
||||
<tr><td>gameOfLife.js</td><td>Conway's Game of Life on a screen</td><td>ggod</td></tr>
|
||||
<tr><td>heatshield.js</td><td>Heatshields, makes Plasma cooler</td></td><td>Taterbob</td></tr>
|
||||
<tr><td>human_friendly_design.js</td><td>Pipes, Portals, Drag, and Mix don't kill humans</td><td>Nekonico</td></tr>
|
||||
<tr><td>industry.js</td><td>Conveyors and emitters for most energy types</td><td>pogdog</td></tr>
|
||||
<tr><td>logicgates.js</td><td>Predictable electricity and logic gates</td><td>nousernamefound</td></tr>
|
||||
<tr><td>note_block_advanced.js</td><td>Edit of Alice's note_block.js, adds different blocks with different frequencies</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>note_block.js</td><td>Musical Note Blocks</td><td>Alice</td></tr>
|
||||
<tr><td>nousersthings.js</td><td>Destroyable machines, pipe variants, filters, and more</td><td>nousernamefound</td></tr>
|
||||
<tr><td>portal.js</td><td>Portals that can teleport pixels</td><td>Alice</td></tr>
|
||||
<tr><td>pullers.js</td><td>Pixels that pull pixels towards them</td><td>voidapex11</td></tr>
|
||||
<tr><td>pushers.js</td><td>Pixels that push elements away from them</td><td>Alice</td></tr>
|
||||
<tr><td>sandboxels.js</td><td>Digital screen to play a mini version of Sandboxels</td><td>Nekonico</td></tr>
|
||||
<tr><td>schematics.js</td><td>Schematics for logic gates</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>spouts.js</td><td>Spouts for all liquids</td><td>kaeud</td></tr>
|
||||
<tr><td>state_voids.js</td><td>Several elements that delete specific states of matter</td><td>Alice</td></tr>
|
||||
<tr><td>switches.js</td><td>Electrical switches that can be toggled</td><td>Alice</td></tr>
|
||||
<tr><td>thiquovite.js</td><td>Thiquovite and wall builders</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>ticking_temp_stuff.js</td><td>Heater and Cooler variants</td><td>Alice</td></tr>
|
||||
<tr><td>video.js</td><td>Video player</td><td>ggod</td></tr>
|
||||
<tr><td>waterspout.js</td><td>Re-adds the old Water Spout</td><td>mollthecoder</td></tr>
|
||||
<tr><td>WhisperingTheory.js</td><td>Many more variants of heater and cooler</td><td>kaeud</td></tr>
|
||||
<tr><td>wifi_draw.js</td><td>Connections between WiFi in wifi.js and logicgates.js</td><td>RedBirdly</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Food & Cooking</td></tr><!---->
|
||||
<tr><td>aChefsDream_beta.js</td><td>Beta testing for aChefsDream.js</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>aChefsDream.js</td><td>More foods, animals, tools, and other cooking items <a href="https://www.youtube.com/playlist?list=PLWHqGb75vC8o7CLv-pMoVb56JL9BY9F0t">[YouTube Playlist]</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>aChefsDream2.js</td><td>The sequel to aChefsDream.js, with brand new elements and tools</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>bananas.js</td><td>Bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>CherrySoda.js</td><td>Materials to make cherry soda</td><td>guzzo86</td></tr>
|
||||
<tr><td>community_desserts.js</td><td>Various desserts from community suggestions</td><td>Tisquares</td></tr>
|
||||
<tr><td>devsnacks.js</td><td>Extra food ingredients and recipes; Only Tea stuff currently</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>GrapeSoda.js</td><td>Materials to make grape soda</td><td>guzzo86</td></tr>
|
||||
<tr><td>greenitemsandmore.js</td><td>Various green things, including apples and more food</td><td>zonneschijn7</td>
|
||||
<tr><td>ketchup_mod.js</td><td>Many ketchup related elements, plus a few other condiments</td><td>Nubo318, Devi, Alice</td></tr>
|
||||
<tr><td>lemonade.js</td><td>Lemons and lemonade</td><td>personman, baconthemyth</td></tr>
|
||||
<tr><td>morefoodsmod.js</td><td>More foods</td><td>Clide4</td></tr>
|
||||
<tr><td>mossstuff.js</td><td>Large variety of elements, including foods</td><td>electricmoss</td></tr>
|
||||
<tr><td>mustard.js</td><td>Mustard and Mustard Seeds</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>potato_chips.js</td><td>Potato chips and sunflower oil</td><td>guzzo86</td></tr>
|
||||
<tr><td>sbstuff.js</td><td>Many foods</td><td>stefanblox</td></tr>
|
||||
<tr><td>soups.js</td><td>Seasoning and soup</td><td>pixelegend4</td></tr>
|
||||
<tr><td>weAllScreamFor.js</td><td>Ice cream toppings</td><td>rottenEgghead</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Weapons</td></tr><!---->
|
||||
<tr><td>aircrafts.js</td><td>Aircrafts and aircraft parts</td><td>Jayd</td></tr>
|
||||
<tr><td>c_fighter_jet.js</td><td>Controllable fighter jet [WASD to move, Q+WASD to shoot, GVBN for missiles]</td><td>Jayd</td></tr>
|
||||
<tr><td>guided_rocket.js</td><td>Homing misile</td><td>voidapex11</td></tr>
|
||||
<tr><td>icb.js</td><td>Various levels of nested cluster bombs</td><td>Alice</td></tr>
|
||||
<tr><td>life_eater.js</td><td>Warhammer 40,000's Life-Eater Virus and Virus Bombs</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_void.js</td><td>Liquid variant of Void</td><td>Alice</td></tr>
|
||||
<tr><td>meat_rockets.js</td><td>Rockets that create meat when exploding</td><td>Melecie</td></tr>
|
||||
<tr><td>more_breaking.js</td><td>More elements can be broken</td><td>Alice</td></tr>
|
||||
<tr><td>rays.js</td><td>More Ray types</td><td>Alice</td></tr>
|
||||
<tr><td>rays++.js</td><td>A couple more rays</td><td>uptzik</td></tr>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>subspace.js</td><td>The Subspace Tripmine from Roblox</td><td>nousernamefound</td></tr>
|
||||
<tr><td>war_crimes.js</td><td>Tear gas and more</td><td>voidapex11</td></tr>
|
||||
<tr><td>weapons.js</td><td>Variety of different weapons</td><td>Jayd</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Life & Nature</td></tr><!---->
|
||||
<tr><td>apioforms_pre.js</td><td>Incomplete implementation of elements from the <a href="https://osmarks.net/apioform/">Apioform Game</a></td><td>Alice</td></tr>
|
||||
<tr><td>baby.js</td><td>Various babies</td><td>Suss</td></tr>
|
||||
<tr><td>bacteria_mod.js</td><td>Content from Minecraft's <a href="https://www.curseforge.com/minecraft/mc-mods/bacterium">Bacterium Mod</a></td><td>Alice</td></tr>
|
||||
<tr><td>bananas.js</td><td>Bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>biology.js</td><td>Various elements and features that let you build your own organism</td><td>Nekonico</td></tr>
|
||||
<tr><td>cat.js</td><td>Cats and cat food</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>cells.js</td><td>Several experimental edits of the Cell element</td><td>Alice</td></tr>
|
||||
<tr><td>children.js</td><td>Pesky little gremlins</td><td>Taterbob</td></tr>
|
||||
<tr><td>coldblooded.js</td><td>Lizards, axolotls, snakes, and more</td><td>Cube14yt</td></tr>
|
||||
<tr><td>colonies.js</td><td>Rockets that contain settlers to terraform a planet</td><td>Nekonico</td></tr>
|
||||
<tr><td>crimson.js</td><td>Elements relating to the Crimson from Terraria</td><td>Alice</td></tr>
|
||||
<tr><td>dogs.js</td><td>Simple dog and dog food</td><td>hedera-ivy</td></tr>
|
||||
<tr><td>eklegems.js</td><td>Large amouunt of gemstones and other crystals</td><td>ekle24</td></tr>
|
||||
<tr><td>fairy_chain.js</td><td>Way too many fairies to fey_and_more.js</td><td>Alice</td></tr>
|
||||
<tr><td>fantastic_creatures.js</td><td>Various animals</td><td>Melecie</td></tr>
|
||||
<tr><td>fantasy_elements.js</td><td>Fantasy creatures and substances</td><td>pixelegend4</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
<tr><td>fishin.js</td><td>Fishing rod and more fish with scientific names <a href="https://r74n.com/textviewer/?fishin.js%0A%0APress%20B%20to%20open%20bank%20account%2C%20A%2C%20S%20or%20D%20to%20cast%20your%20line%20and%20Q%20to%20reel%20it%20back%20in.">[More Info]</a></td><td>Nekonico</td></tr>
|
||||
<tr><td>flowers_and_forests.js</td><td>Trees and flowers</td><td>pixelegend4, SquareScreamYT</td></tr>
|
||||
<tr><td>fwibblen.js</td><td>Flying creature that turns nickel into itself, and another that does the same to the first one</td><td>Alice</td></tr>
|
||||
<tr><td>genetics.js</td><td>Organism that evolves and changes as it creates more of itself by eating</td><td>Nekonico</td></tr>
|
||||
<tr><td>human_edit.js</td><td>Improvements to humans</td><td>Alice</td></tr>
|
||||
<tr><td>kopalstuff.js</td><td>Creatures, spirits, DNA, foods, and more</td><td>DaviStudios</td></tr>
|
||||
<tr><td>lizard_mod.js</td><td>Lizards</td><td>RedBirdly</td></tr>
|
||||
<tr><td>lost_souls.js</td><td>Souls and related elements</td><td>pixelegend4, SquareScreamYT, salmonfishy</td></tr>
|
||||
<tr><td>miscible_psoup_and_birthpool.js</td><td>Primordial Soup and Birthpool can mix (fey_and_more.js)</td><td>Alice</td></tr>
|
||||
<tr><td>mobs.js</td><td>Creepers, Zombies, and Skeletons</td><td>Alice</td></tr>
|
||||
<tr><td>moretrees.js</td><td>25 more tree and wood types</td><td>guzzo86</td></tr>
|
||||
<tr><td>nocancer.js</td><td>Removes cancer one tick after it is created</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nocancer2.js</td><td>Removes cancer from the game altogether; May be incompatible with other mods that spawn cancer</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nograssgrow.js</td><td>Prevents Grass from growing</td><td>mollthecoder</td></tr>
|
||||
<tr><td>ocean.js</td><td>Marine life</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>ores.js</td><td>Ore generation along with tools to mine them</td><td>nousernamefound</td></tr>
|
||||
<tr><td>petal_dye.js</td><td>Boil petals to make dye</td><td>Suss</td></tr>
|
||||
<tr><td>plants.js</td><td>Wide variety of new plants and fruits</td><td>Orchid</td></tr>
|
||||
<tr><td>primordial_birthpool.js</td><td>Cross between Primordial Soup and Birthpool. Requires fey_and_more.js</td><td>Alice</td></tr>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>the_ground_og.js</td><td>Simplified and more stable version of the_ground.js</td><td>Alice</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
<tr><td>toothpaste.js</td><td>Teeth and paste</td><td>Alice</td></tr>
|
||||
<tr><td>volcanic_expansion.js</td><td>Obsidian, Pumice, and Andesite rocks</td><td>Jayd</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Food & Cooking</td></tr><!---->
|
||||
<tr><td>aChefsDream_beta.js</td><td>Beta testing for aChefsDream.js</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>aChefsDream.js</td><td>More foods, animals, tools, and other cooking items <a href="https://www.youtube.com/playlist?list=PLWHqGb75vC8o7CLv-pMoVb56JL9BY9F0t">[YouTube Playlist]</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>aChefsDream2.js</td><td>The sequel to aChefsDream.js, with brand new elements and tools</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>bananas.js</td><td>Bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>CherrySoda.js</td><td>Materials to make cherry soda</td><td>guzzo86</td></tr>
|
||||
<tr><td>community_desserts.js</td><td>Various desserts from community suggestions</td><td>Tisquares</td></tr>
|
||||
<tr><td>devsnacks.js</td><td>Extra food ingredients and recipes; Only Tea stuff currently</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>GrapeSoda.js</td><td>Materials to make grape soda</td><td>guzzo86</td></tr>
|
||||
<tr><td>greenitemsandmore.js</td><td>Various green things, including apples and more food</td><td>zonneschijn7</td>
|
||||
<tr><td>ketchup_mod.js</td><td>Many ketchup related elements, plus a few other condiments</td><td>Nubo318, Devi, Alice</td></tr>
|
||||
<tr><td>lemonade.js</td><td>Lemons and lemonade</td><td>personman, baconthemyth</td></tr>
|
||||
<tr><td>morefoodsmod.js</td><td>More foods</td><td>Clide4</td></tr>
|
||||
<tr><td>mossstuff.js</td><td>Large variety of elements, including foods</td><td>electricmoss</td></tr>
|
||||
<tr><td>mustard.js</td><td>Mustard and Mustard Seeds</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>potato_chips.js</td><td>Potato chips and sunflower oil</td><td>guzzo86</td></tr>
|
||||
<tr><td>sbstuff.js</td><td>Many foods</td><td>stefanblox</td></tr>
|
||||
<tr><td>soups.js</td><td>Seasoning and soup</td><td>pixelegend4</td></tr>
|
||||
<tr><td>weAllScreamFor.js</td><td>Ice cream toppings</td><td>rottenEgghead</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Fun & Games</td></tr><!---->
|
||||
<tr><td>3pms_mod.js</td><td>Adds random stuff and tools</td><td>3pm</td></tr>
|
||||
<tr><td>10kelements.js</td><td>Customizable amount of randomly generated elements</td><td>nousernamefound</td></tr>
|
||||
<tr><td>all_around_fillers.js</td><td>Directional Filler variants</td><td>idk73248</td></tr>
|
||||
<tr><td>allliquids.js</td><td>Made all elements liquids</td><td>Orchid</td></tr>
|
||||
<tr><td>amogus.js</td><td>Small Among Us structure</td><td>Alice</td></tr>
|
||||
<tr><td>bfdi.js</td><td>Several references to Battle for Dream Island</td><td>Taterbob</td></tr>
|
||||
<tr><td>citybuilding.js</td><td>Seeds that create miniature buildings and other city-related items</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>collab_mod.js</td><td>Created by multiple people, adds random things</td><td>mrapple, ilikepizza, stefanblox</td></tr>
|
||||
<tr><td>cubesstuff.js</td><td>Some random stuff like Disco Ball, Pyrite, and Nordic Gold</td><td>Cube14yt</td></tr>
|
||||
<tr><td>doom.js</td><td>As seen on TikTok - Select the Doom element to start [WASD to move]</td><td>ggod</td></tr>
|
||||
<tr><td>elem3.js</td><td>All elements and combinations from Elemental 3 [Very Large]</td><td>Sophie</td></tr>
|
||||
<tr><td>explosionsound.js</td><td>Sound effects for explosions</td><td>nousernamefound</td></tr>
|
||||
<tr><td>fishin.js</td><td>Fishing rod and more fish with scientific names <a href="https://r74n.com/textviewer/?fishin.js%0A%0APress%20B%20to%20open%20bank%20account%2C%20A%2C%20S%20or%20D%20to%20cast%20your%20line%20and%20Q%20to%20reel%20it%20back%20in.">[More Info]</a></td><td>Nekonico</td></tr>
|
||||
<tr><td>fools+.js</td><td>Improves and makes fools.js extremely annoying</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>funny elements 2022-11-15.js</td><td>Few curated randomly-generated elements</td><td>Alice</td></tr>
|
||||
<tr><td>funny_solid.js</td><td>Feces</td><td>Alice</td></tr>
|
||||
<tr><td>funnynames.js</td><td>Various ways to mess with the names of elements</td><td>nousernamefound</td></tr>
|
||||
<tr><td>haseulite.js</td><td>Loona-related materials with various properties</td><td>Alice</td></tr>
|
||||
<tr><td>lactose_intolerance_and_celiac.js</td><td>Humans explode on contact with milk, wheat, bread, or toast</td><td>Nubo318</td></tr>
|
||||
<tr><td>lattice_filler.js</td><td>Combination of lattice and filler and a destructive variant</td><td>Suss</td></tr>
|
||||
<tr><td>liquid_mixing.js</td><td>Liquids can mix colors dynamically</td><td>Nekonico</td></tr>
|
||||
<tr><td>lone_urea.js</td><td>Urea</td><td>Alice</td></tr>
|
||||
<tr><td>maze.js</td><td>Solvable maze generator</td><td>ggod</td></tr>
|
||||
<tr><td>memelists.js</td><td>You must select elements through a list at the bottom of the page</td><td>mollthecoder</td></tr>
|
||||
<tr><td>minecraft.js</td><td>Several things from Minecraft</td><td>nousernamefound</td></tr>
|
||||
<tr><td>minesweeper.js</td><td>Implementation of Minesweeper</td><td>Alice</td></tr>
|
||||
<tr><td>more_art_states.js</td><td>More states of the Art element</td><td>ACrazyPencil</td></tr>
|
||||
<tr><td>musicalfruit.js</td><td>Humans get gas from eating Beans</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nekonicos_stuff.js</td><td>Random stuff like graphite, oobleck, and red ice, as well as many machines</td><td>Nekonico</td></tr>
|
||||
<tr><td>prideflags.js</td><td>Some pride flags to the game</td><td>Adora</td></tr>
|
||||
<tr><td>random_elems.js</td><td>Curated randomly generated elements</td><td>Alice</td></tr>
|
||||
<tr><td>random_liquids.js</td><td>Randomly generates liquids on game load</td><td>Alice</td></tr>
|
||||
<tr><td>sbmixup.js</td><td>Silly elements from a <a href="https://R74n.com/mix/" target="_blank">Mix-Up!</a> game</td><td>stefanblox</td>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>sensitive.js</td><td>Makes all elements sensitive to air</td><td>pogdog</td></tr>
|
||||
<tr><td>sports_beta.js</td><td>Several sports items</td><td>BluBun5193</td></tr>
|
||||
<tr><td>star_wars.js</td><td>Various items from Star Wars by Disney</td><td>SeaPickle754</td>
|
||||
<tr><td>sus.js</td><td>Among Us crewmate</td><td>Nv7</td></tr>
|
||||
<tr><td>thiquovite.js</td><td>Thiquovite and wall builders</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>triggerable_random_powders.js</td><td>Powders with different abilities, such as heating and cooling</td><td>Alice</td></tr>
|
||||
<tr><td>troll.js</td><td>Various dumb elements that iterate randomly on the entire screen</td><td>Alice</td></tr>
|
||||
<tr><td>WhisperingTheory.js</td><td>Powder and gas variant of heater and cooler</td><td>kaeud</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Life & Nature</td></tr><!---->
|
||||
<tr><td>apioforms_pre.js</td><td>Incomplete implementation of elements from the <a href="https://osmarks.net/apioform/">Apioform Game</a></td><td>Alice</td></tr>
|
||||
<tr><td>baby.js</td><td>Various babies</td><td>Suss</td></tr>
|
||||
<tr><td>bacteria_mod.js</td><td>Content from Minecraft's <a href="https://www.curseforge.com/minecraft/mc-mods/bacterium">Bacterium Mod</a></td><td>Alice</td></tr>
|
||||
<tr><td>bananas.js</td><td>Bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>biology.js</td><td>Various elements and features that let you build your own organism</td><td>Nekonico</td></tr>
|
||||
<tr><td>cat.js</td><td>Cats and cat food</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>cells.js</td><td>Several experimental edits of the Cell element</td><td>Alice</td></tr>
|
||||
<tr><td>children.js</td><td>Pesky little gremlins</td><td>Taterbob</td></tr>
|
||||
<tr><td>coldblooded.js</td><td>Lizards, axolotls, snakes, and more</td><td>Cube14yt</td></tr>
|
||||
<tr><td>colonies.js</td><td>Rockets that contain settlers to terraform a planet</td><td>Nekonico</td></tr>
|
||||
<tr><td>crimson.js</td><td>Elements relating to the Crimson from Terraria</td><td>Alice</td></tr>
|
||||
<tr><td>dogs.js</td><td>Simple dog and dog food</td><td>hedera-ivy</td></tr>
|
||||
<tr><td>eklegems.js</td><td>Large amouunt of gemstones and other crystals</td><td>ekle24</td></tr>
|
||||
<tr><td>fairy_chain.js</td><td>Way too many fairies to fey_and_more.js</td><td>Alice</td></tr>
|
||||
<tr><td>fantastic_creatures.js</td><td>Various animals</td><td>Melecie</td></tr>
|
||||
<tr><td>fantasy_elements.js</td><td>Fantasy creatures and substances</td><td>pixelegend4</td></tr>
|
||||
<tr><td>fey_and_more.js</td><td>Fairies, magic, and a lot of other things</td><td>Melecie</td></tr>
|
||||
<tr><td>fishin.js</td><td>Fishing rod and more fish with scientific names <a href="https://r74n.com/textviewer/?fishin.js%0A%0APress%20B%20to%20open%20bank%20account%2C%20A%2C%20S%20or%20D%20to%20cast%20your%20line%20and%20Q%20to%20reel%20it%20back%20in.">[More Info]</a></td><td>Nekonico</td></tr>
|
||||
<tr><td>flowers_and_forests.js</td><td>Trees and flowers</td><td>pixelegend4, SquareScreamYT</td></tr>
|
||||
<tr><td>fwibblen.js</td><td>Flying creature that turns nickel into itself, and another that does the same to the first one</td><td>Alice</td></tr>
|
||||
<tr><td>genetics.js</td><td>Organism that evolves and changes as it creates more of itself by eating</td><td>Nekonico</td></tr>
|
||||
<tr><td>human_edit.js</td><td>Improvements to humans</td><td>Alice</td></tr>
|
||||
<tr><td>kopalstuff.js</td><td>Creatures, spirits, DNA, foods, and more</td><td>DaviStudios</td></tr>
|
||||
<tr><td>lizard_mod.js</td><td>Lizards</td><td>RedBirdly</td></tr>
|
||||
<tr><td>lost_souls.js</td><td>Souls and related elements</td><td>pixelegend4, SquareScreamYT, salmonfishy</td></tr>
|
||||
<tr><td>miscible_psoup_and_birthpool.js</td><td>Primordial Soup and Birthpool can mix (fey_and_more.js)</td><td>Alice</td></tr>
|
||||
<tr><td>mobs.js</td><td>Creepers, Zombies, and Skeletons</td><td>Alice</td></tr>
|
||||
<tr><td>moretrees.js</td><td>25 more tree and wood types</td><td>guzzo86</td></tr>
|
||||
<tr><td>no_blood.js</td><td>Effectively removes Blood and related elements</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>nocancer.js</td><td>Removes cancer one tick after it is created</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nocancer2.js</td><td>Removes cancer from the game altogether; May be incompatible with other mods that spawn cancer</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nograssgrow.js</td><td>Prevents Grass from growing</td><td>mollthecoder</td></tr>
|
||||
<tr><td>ocean.js</td><td>Marine life</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>ores.js</td><td>Ore generation along with tools to mine them</td><td>nousernamefound</td></tr>
|
||||
<tr><td>petal_dye.js</td><td>Boil petals to make dye</td><td>Suss</td></tr>
|
||||
<tr><td>plants.js</td><td>Wide variety of new plants and fruits</td><td>Orchid</td></tr>
|
||||
<tr><td>primordial_birthpool.js</td><td>Cross between Primordial Soup and Birthpool. Requires fey_and_more.js</td><td>Alice</td></tr>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>spring.js</td><td>Many nature elements, like sakura trees, butterflies, beehives, and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>the_ground_og.js</td><td>Simplified and more stable version of the_ground.js</td><td>Alice</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
<tr><td>toothpaste.js</td><td>Teeth and paste</td><td>Alice</td></tr>
|
||||
<tr><td>volcanic_expansion.js</td><td>Obsidian, Pumice, and Andesite rocks</td><td>Jayd</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Fun & Games</td></tr><!---->
|
||||
<tr><td>3pms_mod.js</td><td>Adds random stuff and tools</td><td>3pm</td></tr>
|
||||
<tr><td>10kelements.js</td><td>Customizable amount of randomly generated elements</td><td>nousernamefound</td></tr>
|
||||
<tr><td>all_around_fillers.js</td><td>Directional Filler variants</td><td>idk73248</td></tr>
|
||||
<tr><td>allliquids.js</td><td>Made all elements liquids</td><td>Orchid</td></tr>
|
||||
<tr><td>amogus.js</td><td>Small Among Us structure</td><td>Alice</td></tr>
|
||||
<tr><td>bfdi.js</td><td>Several references to Battle for Dream Island</td><td>Taterbob</td></tr>
|
||||
<tr><td>citybuilding.js</td><td>Seeds that create miniature buildings and other city-related items</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>collab_mod.js</td><td>Created by multiple people, adds random things</td><td>mrapple, ilikepizza, stefanblox</td></tr>
|
||||
<tr><td>cubesstuff.js</td><td>Some random stuff like Disco Ball, Pyrite, and Nordic Gold</td><td>Cube14yt</td></tr>
|
||||
<tr><td>doom.js</td><td>As seen on TikTok - Select the Doom element to start [WASD to move]</td><td>ggod</td></tr>
|
||||
<tr><td>elem3.js</td><td>All elements and combinations from Elemental 3 [Very Large]</td><td>Sophie</td></tr>
|
||||
<tr><td>explosionsound.js</td><td>Sound effects for explosions</td><td>nousernamefound</td></tr>
|
||||
<tr><td>fishin.js</td><td>Fishing rod and more fish with scientific names <a href="https://r74n.com/textviewer/?fishin.js%0A%0APress%20B%20to%20open%20bank%20account%2C%20A%2C%20S%20or%20D%20to%20cast%20your%20line%20and%20Q%20to%20reel%20it%20back%20in.">[More Info]</a></td><td>Nekonico</td></tr>
|
||||
<tr><td>fools+.js</td><td>Improves and makes fools.js extremely annoying</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>funny elements 2022-11-15.js</td><td>Few curated randomly-generated elements</td><td>Alice</td></tr>
|
||||
<tr><td>funny_solid.js</td><td>Feces</td><td>Alice</td></tr>
|
||||
<tr><td>funnynames.js</td><td>Various ways to mess with the names of elements</td><td>nousernamefound</td></tr>
|
||||
<tr><td>haseulite.js</td><td>Loona-related materials with various properties</td><td>Alice</td></tr>
|
||||
<tr><td>lactose_intolerance_and_celiac.js</td><td>Humans explode on contact with milk, wheat, bread, or toast</td><td>Nubo318</td></tr>
|
||||
<tr><td>lattice_filler.js</td><td>Combination of lattice and filler and a destructive variant</td><td>Suss</td></tr>
|
||||
<tr><td>liquid_mixing.js</td><td>Liquids can mix colors dynamically</td><td>Nekonico</td></tr>
|
||||
<tr><td>lone_urea.js</td><td>Urea</td><td>Alice</td></tr>
|
||||
<tr><td>maze.js</td><td>Solvable maze generator</td><td>ggod</td></tr>
|
||||
<tr><td>memelists.js</td><td>You must select elements through a list at the bottom of the page</td><td>mollthecoder</td></tr>
|
||||
<tr><td>minecraft.js</td><td>Several things from Minecraft</td><td>nousernamefound</td></tr>
|
||||
<tr><td>minesweeper.js</td><td>Implementation of Minesweeper</td><td>Alice</td></tr>
|
||||
<tr><td>more_art_states.js</td><td>More states of the Art element</td><td>ACrazyPencil</td></tr>
|
||||
<tr><td>musicalfruit.js</td><td>Humans get gas from eating Beans</td><td>mollthecoder</td></tr>
|
||||
<tr><td>nekonicos_stuff.js</td><td>Random stuff like graphite, oobleck, and red ice, as well as many machines</td><td>Nekonico</td></tr>
|
||||
<tr><td>prideflags.js</td><td>Some pride flags to the game</td><td>Adora</td></tr>
|
||||
<tr><td>random_elems.js</td><td>Curated randomly generated elements</td><td>Alice</td></tr>
|
||||
<tr><td>random_liquids.js</td><td>Randomly generates liquids on game load</td><td>Alice</td></tr>
|
||||
<tr><td>sbmixup.js</td><td>Silly elements from a <a href="https://R74n.com/mix/" target="_blank">Mix-Up!</a> game</td><td>stefanblox</td>
|
||||
<tr><td>scp.js</td><td>Creatures and items from the SCP Wiki</td><td>Nekonico</td></tr>
|
||||
<tr><td>sensitive.js</td><td>Makes all elements sensitive to air</td><td>pogdog</td></tr>
|
||||
<tr><td>sports_beta.js</td><td>Several sports items</td><td>BluBun5193</td></tr>
|
||||
<tr><td>star_wars.js</td><td>Various items from Star Wars by Disney</td><td>SeaPickle754</td>
|
||||
<tr><td>sus.js</td><td>Among Us crewmate</td><td>Nv7</td></tr>
|
||||
<tr><td>thiquovite.js</td><td>Thiquovite and wall builders</td><td>CharsonBurensen</td></tr>
|
||||
<tr><td>triggerable_random_powders.js</td><td>Powders with different abilities, such as heating and cooling</td><td>Alice</td></tr>
|
||||
<tr><td>troll.js</td><td>Various dumb elements that iterate randomly on the entire screen</td><td>Alice</td></tr>
|
||||
<tr><td>WhisperingTheory.js</td><td>Powder and gas variant of heater and cooler</td><td>kaeud</td></tr>
|
||||
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Visual Effects</td></tr><!---->
|
||||
<tr><td>acid_and_shapes.js</td><td>Weird visual effects enabled in settings</td><td>Alice</td></tr>
|
||||
<tr><td>asciiboxels.js</td><td>Renders pixels as ASCII characters</td><td>Nekonico</td></tr>
|
||||
<tr><td>background_changer.js</td><td>Press 'B' to change canvas background to a URL</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>borders.js</td><td>Black borders around pixels (Use bright background)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>clouds.js</td><td>Moving clouds, sky.js recommended</td><td>RedBirdly</td></tr>
|
||||
<tr><td>customBackground.js</td><td>Set your background to an image link</td><td>Jayd</td></tr>
|
||||
<tr><td>fast_lightmap.js</td><td>Light sources glow, but faster</td><td>RedBirdly</td></tr>
|
||||
<tr><td>fractals.js</td><td>Element and tools to render fractals in game</td><td>nousernamefound</td></tr>
|
||||
<tr><td>heatglow.js</td><td>Red glowing effect for hot metals</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hexagon_test.js</td><td>Pixels look like hexagons</td><td>RedBirdly</td></tr>
|
||||
<tr><td>invisible_dye.js</td><td>Elements like Dye and Spray Paint that take the color of the background</td><td>Alice</td></tr>
|
||||
<tr><td>invisible_wall.js</td><td>Element like Wall that takes the color of the background</td><td>Alice</td></tr>
|
||||
<tr><td>lightmap.js</td><td>Light sources glow</td><td>RedBirdly</td></tr>
|
||||
<tr><td>liquid_mixing.js</td><td>Liquids can mix colors dynamically</td><td>Nekonico</td></tr>
|
||||
<tr><td>manyMoreThemes.js</td><td>Additional themes</td><td>Jayd</td></tr>
|
||||
<tr><td>moreViews.js</td><td>Many new rendering modes</td><td>ggod</td></tr>
|
||||
<tr><td>nicer_flame.js</td><td>Fire is visually pleasing</td><td>RedBirdly</td></tr>
|
||||
<tr><td>occlusion.js</td><td>Realistic shadows, similar to Terraria's lighting</td><td>RedBirdly</td></tr>
|
||||
<tr><td>onecolor.js</td><td>Placed pixels are single-colored</td><td>nousernamefound</td></tr>
|
||||
<tr><td>paint_event.js</td><td>Random event that randomly paints a circle</td><td>Alice</td></tr>
|
||||
<tr><td>rainbow_tests.js</td><td>Variants of the rainbow element with different maths</td><td>Alice</td></tr>
|
||||
<tr><td>real_light.js</td><td>Everything is dark unless hit with a photon (Light) pixel, hot, or glowing</td><td>Nekonico</td></tr>
|
||||
<tr><td>rich_grain.js</td><td>Changes pixel grain to create richer colors</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>shader_by_jayd.js</td><td>Glow around light elements</td><td>Jayd</td></tr>
|
||||
<tr><td>Shroomboxels.js</td><td>Variant of acid_and_shapes.js that uses a different trigonometric function</td><td>Alice</td></tr>
|
||||
<tr><td>singleColor.js</td><td>Elements pick one color each time they're drawn</td><td>stefanblox</td></tr>
|
||||
<tr><td>sky.js</td><td>Day-night cycle</td><td>RedBirdly</td></tr>
|
||||
<tr><td>solidcolor.js</td><td>Placed pixels have a solid color</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>texture_pack_by_jayd.js</td><td>Cool background</td><td>Jayd</td></tr>
|
||||
<tr><td>UwUify.js</td><td>"UwU" background</td><td>Jayd</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Visual Effects</td></tr><!---->
|
||||
<tr><td>acid_and_shapes.js</td><td>Weird visual effects enabled in settings</td><td>Alice</td></tr>
|
||||
<tr><td>asciiboxels.js</td><td>Renders pixels as ASCII characters</td><td>Nekonico</td></tr>
|
||||
<tr><td>background_changer.js</td><td>Press 'B' to change canvas background to a URL</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>borders.js</td><td>Black borders around pixels (Use bright background)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>clouds.js</td><td>Moving clouds, sky.js recommended</td><td>RedBirdly</td></tr>
|
||||
<tr><td>customBackground.js</td><td>Set your background to an image link</td><td>Jayd</td></tr>
|
||||
<tr><td>fractals.js</td><td>Element and tools to render fractals in game</td><td>nousernamefound</td></tr>
|
||||
<tr><td>heatglow.js</td><td>Red glowing effect for hot metals</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hexagon_test.js</td><td>Pixels look like hexagons</td><td>RedBirdly</td></tr>
|
||||
<tr><td>invisible_dye.js</td><td>Elements like Dye and Spray Paint that take the color of the background</td><td>Alice</td></tr>
|
||||
<tr><td>invisible_wall.js</td><td>Element like Wall that takes the color of the background</td><td>Alice</td></tr>
|
||||
<tr><td>lightmap.js</td><td>Light sources glow</td><td>RedBirdly</td></tr>
|
||||
<tr><td>liquid_mixing.js</td><td>Liquids can mix colors dynamically</td><td>Nekonico</td></tr>
|
||||
<tr><td>manyMoreThemes.js</td><td>Additional themes</td><td>Jayd</td></tr>
|
||||
<tr><td>moreViews.js</td><td>Many new rendering modes</td><td>ggod</td></tr>
|
||||
<tr><td>occlusion.js</td><td>Realistic shadows, similar to Terraria's lighting</td><td>RedBirdly</td></tr>
|
||||
<tr><td>onecolor.js</td><td>Placed pixels are single-colored</td><td>nousernamefound</td></tr>
|
||||
<tr><td>paint_event.js</td><td>Random event that randomly paints a circle</td><td>Alice</td></tr>
|
||||
<tr><td>rainbow_tests.js</td><td>Variants of the rainbow element with different maths</td><td>Alice</td></tr>
|
||||
<tr><td>real_light.js</td><td>Everything is dark unless hit with a photon (Light) pixel, hot, or glowing</td><td>Nekonico</td></tr>
|
||||
<tr><td>rich_grain.js</td><td>Changes pixel grain to create richer colors</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>shader_by_jayd.js</td><td>Glow around light elements</td><td>Jayd</td></tr>
|
||||
<tr><td>Shroomboxels.js</td><td>Variant of acid_and_shapes.js that uses a different trigonometric function</td><td>Alice</td></tr>
|
||||
<tr><td>singleColor.js</td><td>Elements pick one color each time they're drawn</td><td>stefanblox</td></tr>
|
||||
<tr><td>sky.js</td><td>Day-night cycle</td><td>RedBirdly</td></tr>
|
||||
<tr><td>solidcolor.js</td><td>Placed pixels have a solid color</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>texture_pack_by_jayd.js</td><td>Cool background</td><td>Jayd</td></tr>
|
||||
<tr><td>UwUify.js</td><td>"UwU" background</td><td>Jayd</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Compilations</td></tr><!---->
|
||||
<tr><td>food_mods.js</td><td>Combination of most food mods</td><td>stefanblox, electricmoss, Tisquares, SquareScreamYT, Adora, pixelegend4, Alice, Nubo318, Clide4, rottenEgghead</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Compilations</td></tr><!---->
|
||||
<tr><td>food_mods.js</td><td>Combination of most food mods</td><td>stefanblox, electricmoss, Tisquares, SquareScreamYT, Adora, pixelegend4, Alice, Nubo318, Clide4, rottenEgghead</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Technical Libraries & Tests</td></tr><!---->
|
||||
<tr><td>1.10example.js</td><td>Examples for modern rendering modding and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>a_bundle_of_tests.js</td><td>Several test functions</td><td>Alice</td></tr>
|
||||
<tr><td>all_stain.js</td><td>Every element stains solids</td><td>stefanblox</td></tr>
|
||||
<tr><td>betterMenuScreens.js</td><td>Library for mods to create their own menus</td><td>ggod</td></tr>
|
||||
<tr><td>changePixelDebug.js</td><td>The changePixel() function aborts and logs to console when it tries to change to a non-existent element</td><td>Alice</td></tr>
|
||||
<tr><td>changeTempReactionParameter.js</td><td>The changeTemp property to modded reactions</td><td>Alice</td></tr>
|
||||
<tr><td>code_library.js</td><td>Functions and variables common to some other mods</td><td>Alice</td></tr>
|
||||
<tr><td>controllable_pixel_test.js</td><td>Pixel that can be controlled with the keyboard keys <a href="https://github.com/R74nCom/sandboxels/commit/58dfa9477f2ed7ec9c44b00a35162e7c63bc129c">[More Info]</a> [PC ONLY]</td><td>Alice</td></tr>
|
||||
<tr><td>customexplosion.js</td><td>Custom explosion element and interface for it</td><td>Orchid</td></tr>
|
||||
<tr><td>date_test.js</td><td>K-pop idol birthday testing stuff</td><td>Alice</td></tr>
|
||||
<tr><td>drawPixels_change_test.js</td><td>Test of altering drawPixels(). Gives burning pixels a red overlay similar to the yellow overlay for charged pixels</td><td>Alice</td></tr>
|
||||
<tr><td>example_mod.js</td><td>Example mod for new modders</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>explodeAtPlus.js</td><td>Extension of the explodeAt function with more options</td><td>Alice</td></tr>
|
||||
<tr><td>fill_script.js</td><td>Script that fills an area</td><td>TealEgg#7646</td></tr>
|
||||
<tr><td>generative_mods.js</td><td>Modpack with optional mass element generation</td><td>Alice</td></tr>
|
||||
<tr><td>generator_prompt.js</td><td>Prompt to use generative_mods.js's element generators after the game finishes loading</td><td>Alice</td></tr>
|
||||
<tr><td>gradient_background_support.js</td><td>Enables linear gradients for backgrounds as arrays in settings.bg</td><td>Alice</td></tr>
|
||||
<tr><td>libpacman-v1.js</td><td>Library for making mods</td><td>mollthecoder</td></tr>
|
||||
<tr><td>libpixeltracking.js</td><td>Library for tracking pixels</td><td>mollthecoder</td></tr>
|
||||
<tr><td>maxColorOffset.js</td><td>Property to specify how much a pixel's color can be randomly offset from the element color</td><td>Alice</td></tr>
|
||||
<tr><td>modlangs.js</td><td>Customisable property in an element to allow for translations in mods. See the file for instructions on how to implement</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>nested_for_reaction_example.js</td><td>Example of using a nested for loop to add reactions. It makes various things kill plants</td><td>Alice</td></tr>
|
||||
<tr><td>nv7.js</td><td>Giant Nv7 image [Large]</td><td>Nv7</td></tr>
|
||||
<tr><td>orchidslibrary.js</td><td>Library used by morechemistry.js, plants.js, and datawire.js</td><td>Orchid</td></tr>
|
||||
<tr><td>place_all_elements.js</td><td>Experimental function that places every pixel</td><td>Alice</td></tr>
|
||||
<tr><td>PRNGworldgenlib.js</td><td>World generation library with seeded randomness</td><td>Orchid</td></tr>
|
||||
<tr><td>randomness_but_tick.js</td><td>Random experimental elements using the tick function feature</td><td>Alice</td></tr>
|
||||
<tr><td>randomness_but_tool.js</td><td>Random experimental elements using the tool function feature</td><td>Alice</td></tr>
|
||||
<tr><td>randomness.js</td><td>Random experimental elements</td><td>Alice</td></tr>
|
||||
<tr><td>scenexe.js</td><td>Move through and damage a simulated field of polygons [WIP]</td><td>nousernamefound</td></tr>
|
||||
<tr><td>structure_test_2.js</td><td>Another test for implementing structures into Sandboxels (requires the previous test)</td><td>Alice</td></tr>
|
||||
<tr><td>structure_test.js</td><td>Test for implementing structures into Sandboxels</td><td>Alice</td></tr>
|
||||
<tr><td>test.js</td><td>Test that adds mayo :)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>tool_pixel_behavior.js</td><td>Gives unique behaviors to tools if placed with cheats</td><td>Alice</td></tr>
|
||||
<tr><td>worldgen_test.js</td><td>Element that generates a save with a grass layer, dirt layer, rock layer, and a pond</td><td>Alice</td></tr>
|
||||
<tr><td>worldgenlibrary.js</td><td>World generation library</td><td>Orchid</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Technical Libraries & Tests</td></tr><!---->
|
||||
<tr><td>1.10example.js</td><td>Examples for modern rendering modding and more</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>a_bundle_of_tests.js</td><td>Several test functions</td><td>Alice</td></tr>
|
||||
<tr><td>all_stain.js</td><td>Every element stains solids</td><td>stefanblox</td></tr>
|
||||
<tr><td>betterMenuScreens.js</td><td>Library for mods to create their own menus</td><td>ggod</td></tr>
|
||||
<tr><td>changePixelDebug.js</td><td>The changePixel() function aborts and logs to console when it tries to change to a non-existent element</td><td>Alice</td></tr>
|
||||
<tr><td>changeTempReactionParameter.js</td><td>The changeTemp property to modded reactions</td><td>Alice</td></tr>
|
||||
<tr><td>code_library.js</td><td>Functions and variables common to some other mods</td><td>Alice</td></tr>
|
||||
<tr><td>controllable_pixel_test.js</td><td>Pixel that can be controlled with the keyboard keys <a href="https://github.com/R74nCom/sandboxels/commit/58dfa9477f2ed7ec9c44b00a35162e7c63bc129c">[More Info]</a> [PC ONLY]</td><td>Alice</td></tr>
|
||||
<tr><td>customexplosion.js</td><td>Custom explosion element and interface for it</td><td>Orchid</td></tr>
|
||||
<tr><td>date_test.js</td><td>K-pop idol birthday testing stuff</td><td>Alice</td></tr>
|
||||
<tr><td>drawPixels_change_test.js</td><td>Test of altering drawPixels(). Gives burning pixels a red overlay similar to the yellow overlay for charged pixels</td><td>Alice</td></tr>
|
||||
<tr><td>example_mod.js</td><td>Example mod for new modders</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>explodeAtPlus.js</td><td>Extension of the explodeAt function with more options</td><td>Alice</td></tr>
|
||||
<tr><td>fill_script.js</td><td>Script that fills an area</td><td>TealEgg#7646</td></tr>
|
||||
<tr><td>generative_mods.js</td><td>Modpack with optional mass element generation</td><td>Alice</td></tr>
|
||||
<tr><td>generator_prompt.js</td><td>Prompt to use generative_mods.js's element generators after the game finishes loading</td><td>Alice</td></tr>
|
||||
<tr><td>gradient_background_support.js</td><td>Enables linear gradients for backgrounds as arrays in settings.bg</td><td>Alice</td></tr>
|
||||
<tr><td>libpacman-v1.js</td><td>Library for making mods</td><td>mollthecoder</td></tr>
|
||||
<tr><td>libpixeltracking.js</td><td>Library for tracking pixels</td><td>mollthecoder</td></tr>
|
||||
<tr><td>maxColorOffset.js</td><td>Property to specify how much a pixel's color can be randomly offset from the element color</td><td>Alice</td></tr>
|
||||
<tr><td>modlangs.js</td><td>Customisable property in an element to allow for translations in mods. See the file for instructions on how to implement</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>nested_for_reaction_example.js</td><td>Example of using a nested for loop to add reactions. It makes various things kill plants</td><td>Alice</td></tr>
|
||||
<tr><td>nv7.js</td><td>Giant Nv7 image [Large]</td><td>Nv7</td></tr>
|
||||
<tr><td>orchidslibrary.js</td><td>Library used by morechemistry.js, plants.js, and datawire.js</td><td>Orchid</td></tr>
|
||||
<tr><td>place_all_elements.js</td><td>Experimental function that places every pixel</td><td>Alice</td></tr>
|
||||
<tr><td>PRNGworldgenlib.js</td><td>World generation library with seeded randomness</td><td>Orchid</td></tr>
|
||||
<tr><td>randomness_but_tick.js</td><td>Random experimental elements using the tick function feature</td><td>Alice</td></tr>
|
||||
<tr><td>randomness_but_tool.js</td><td>Random experimental elements using the tool function feature</td><td>Alice</td></tr>
|
||||
<tr><td>randomness.js</td><td>Random experimental elements</td><td>Alice</td></tr>
|
||||
<tr><td>scenexe.js</td><td>Move through and damage a simulated field of polygons [WIP]</td><td>nousernamefound</td></tr>
|
||||
<tr><td>structure_test_2.js</td><td>Another test for implementing structures into Sandboxels (requires the previous test)</td><td>Alice</td></tr>
|
||||
<tr><td>structure_test.js</td><td>Test for implementing structures into Sandboxels</td><td>Alice</td></tr>
|
||||
<tr><td>test.js</td><td>Test that adds mayo :)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr><td>tool_pixel_behavior.js</td><td>Gives unique behaviors to tools if placed with cheats</td><td>Alice</td></tr>
|
||||
<tr><td>worldgen_test.js</td><td>Element that generates a save with a grass layer, dirt layer, rock layer, and a pond</td><td>Alice</td></tr>
|
||||
<tr><td>worldgenlibrary.js</td><td>World generation library</td><td>Orchid</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Broken or Deprecated</td></tr><!---->
|
||||
<tr class="deprecated"><td>a_mod_by_alice.js</td><td>Combination of most of Alice's mods, and some other things</td><td>Alice</td></tr>
|
||||
<tr class="deprecated"><td>adjustablepixelsize.js</td><td>Set the pixelSize with a URL parameter</td><td>Alice</td></tr>
|
||||
<tr class="deprecated"><td>advanced_colonies.js</td><td>Davlers, creatures with complex colonies</td><td>DaviStudios</td></tr>
|
||||
<tr class="deprecated"><td>humans.js</td><td>Humans. Now part of the base game</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr class="deprecated"><td>invertscroll.js</td><td>Inverts the scroll wheel for adjusting brush size (now a setting)</td><td>SquareScreamYT</td></tr>
|
||||
<tr class="deprecated"><td>mobile_shift.js</td><td>Button for shift on mobile (Now in the base game)</td><td>SquareScreamYT</td></tr>
|
||||
<tr class="deprecated"><td>nopixellimit.js</td><td>Removes the pixel limit. (now a setting)</td><td>Jayd</td></tr>
|
||||
<tr class="deprecated"><td>pizzasstuff.js</td><td>New animals, foods, and plants</td><td>_ilikepizza_</td></tr>
|
||||
<tr class="deprecated"><td>unhide.js</td><td>Unhides all elements except molten ones. (This functionality now exists as a vanilla setting)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr class="deprecated"><td>wheel_fix.js</td><td>Attempts to fix the brush scaling too much with the mouse wheel for some people. Deprecated</td><td>Nubo318</td></tr>
|
||||
<!----><tr><td class="modCat" colspan="3">Broken or Deprecated</td></tr><!---->
|
||||
<tr class="deprecated"><td>a_mod_by_alice.js</td><td>Combination of most of Alice's mods, and some other things</td><td>Alice</td></tr>
|
||||
<tr class="deprecated"><td>adjustablepixelsize.js</td><td>Set the pixelSize with a URL parameter</td><td>Alice</td></tr>
|
||||
<tr class="deprecated"><td>advanced_colonies.js</td><td>Davlers, creatures with complex colonies</td><td>DaviStudios</td></tr>
|
||||
<tr class="deprecated"><td>background_changer.js</td><td>Press 'B' to change canvas background to a URL</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr class="deprecated"><td>borders.js</td><td>Black borders around pixels (Use bright background)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr class="deprecated"><td>fast_lightmap.js</td><td>Light sources glow, but faster</td><td>RedBirdly</td></tr>
|
||||
<tr class="deprecated"><td>humans.js</td><td>Humans. Now part of the base game</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr class="deprecated"><td>invertscroll.js</td><td>Inverts the scroll wheel for adjusting brush size (now a setting)</td><td>SquareScreamYT</td></tr>
|
||||
<tr class="deprecated"><td>mobile_shift.js</td><td>Button for shift on mobile (Now in the base game)</td><td>SquareScreamYT</td></tr>
|
||||
<tr class="deprecated"><td>nicer_flame.js</td><td>Fire is visually pleasing</td><td>RedBirdly</td></tr>
|
||||
<tr class="deprecated"><td>nopixellimit.js</td><td>Removes the pixel limit. (now a setting)</td><td>Jayd</td></tr>
|
||||
<tr class="deprecated"><td>pizzasstuff.js</td><td>New animals, foods, and plants</td><td>_ilikepizza_</td></tr>
|
||||
<tr class="deprecated"><td>unhide.js</td><td>Unhides all elements except molten ones. (This functionality now exists as a vanilla setting)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
|
||||
<tr class="deprecated"><td>wheel_fix.js</td><td>Attempts to fix the brush scaling too much with the mouse wheel for some people. Deprecated</td><td>Nubo318</td></tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="Create">How to create your own mod</h2>
|
||||
<h2 id="Create">How to create your own mod</h2>
|
||||
|
||||
<p>To learn to create your own Sandboxels mod, read the <a href="https://sandboxels.wiki.gg/wiki/Modding/Getting_started" target="_blank">Modding Tutorial</a> on the Sandboxels Wiki, and an <a href="https://sandboxels.r74n.com/mods/example_mod.js">Example Mod</a> to base yours off of.</p>
|
||||
<p>Mods are submitted to the <a href="https://github.com/R74nCom/sandboxels" target="_blank">GitHub repo</a>.</p>
|
||||
<p>To learn to create your own Sandboxels mod, read the <a href="https://sandboxels.wiki.gg/wiki/Modding/Getting_started" target="_blank">Modding Tutorial</a> on the Sandboxels Wiki, and an <a href="https://sandboxels.r74n.com/mods/example_mod.js">Example Mod</a> to base yours off of.</p>
|
||||
<p>Mods are submitted to the <a href="https://github.com/R74nCom/sandboxels" target="_blank">GitHub repo</a>.</p>
|
||||
|
||||
<h2 id="Issues">Issues with mods</h2>
|
||||
<p>We don't provide support for unofficial mods. You may ask for help in our <a href="https://discord.gg/ejUc6YPQuS">Discord server</a>, or press Clear Mods in <a href="help">Settings</a>.</p>
|
||||
<p>Some mods may not work every time you load the game, or even at all!</p>
|
||||
<h2 id="Issues">Issues with mods</h2>
|
||||
<p>We don't provide support for unofficial mods. You may ask for help in our <a href="https://discord.gg/ejUc6YPQuS">Discord server</a>, or press Clear Mods in <a href="help">Settings</a>.</p>
|
||||
<p>Some mods may not work every time you load the game, or even at all!</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -518,15 +520,15 @@
|
|||
|
||||
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8485284630785740"
|
||||
crossorigin="anonymous"></script>
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-93720349-9"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-93720349-9');
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-93720349-9');
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -3135,6 +3135,10 @@ elements.cut_ginger = {
|
|||
"XX|XX|XX",
|
||||
"M2|M1|M2",
|
||||
],
|
||||
reactions: {
|
||||
"flour": { elem1:"gingerbread", elem2:null },
|
||||
"bread": { elem1:"gingerbread", elem2:null },
|
||||
},
|
||||
category:"food",
|
||||
tempHigh: 100,
|
||||
stateHigh: "steam",
|
||||
|
|
@ -6770,6 +6774,7 @@ elements.whisked_egg_white ={
|
|||
reactions: {
|
||||
"corn_syrup": { elem1: "marshmallow", elem2: null, chance: 2 },
|
||||
"sugar": { elem1: "marshmallow", elem2: null, chance: 2 },
|
||||
"icing_sugar": { elem1: "meringue", elem2: null, chance: 0.1 },
|
||||
},
|
||||
viscosity: 1.5,
|
||||
tempHigh: 1000,
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@ elements.tea_leaves = {
|
|||
stateHigh: ["fire","smoke","smoke","smoke","ash"],
|
||||
tempLow: -2,
|
||||
stateLow: "frozen_plant",
|
||||
breakInto: "matcha_powder",
|
||||
burn:10,
|
||||
burnTime:300,
|
||||
burnInto: ["fire","smoke","smoke","smoke","smoke","smoke","smoke","fragrance"],
|
||||
|
|
@ -626,7 +627,7 @@ elements.cinnamon_powder.reactions.nutmeg_powder = { elem1: "pumpkin_spice", ele
|
|||
elements.coffee.reactions.pumpkin_mash = { elem2: null, color1: "#7e3c09", chance: 0.005 };
|
||||
elements.coffee.reactions.pumpkin_spice = { elem2: null, color1: "#7e3c09", chance: 0.005 };
|
||||
|
||||
elements.nutmeg_tree = {
|
||||
elements.nutmeg_wood = {
|
||||
color: "#6B4226",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 400,
|
||||
|
|
@ -649,9 +650,9 @@ elements.nutmeg_branch = {
|
|||
"XX|XX|XX",
|
||||
],
|
||||
tempHigh: 100,
|
||||
stateHigh: "nutmeg_tree",
|
||||
stateHigh: "nutmeg_wood",
|
||||
tempLow: -30,
|
||||
stateLow: "nutmeg_tree",
|
||||
stateLow: "nutmeg_wood",
|
||||
category: "life",
|
||||
burn: 30,
|
||||
burnTime: 60,
|
||||
|
|
@ -738,4 +739,77 @@ elements.nutmeg_powder = {
|
|||
hidden: false
|
||||
};
|
||||
|
||||
elements.matcha_powder = {
|
||||
color: ["#a8dd3e","#b2c653", "#c0d55e"],
|
||||
reactions: {
|
||||
"water": { elem2:"matcha", tempMin:80 },
|
||||
"salt_water": { elem2:"matcha", tempMin:80 },
|
||||
"sugar_water": { elem2:"matcha", tempMin:80 },
|
||||
"seltzer": { elem2:"matcha", tempMin:80 },
|
||||
"stench": { elem2:null, chance:0.25 },
|
||||
"steam": { elem2:"fragrance", chance:0.1 },
|
||||
"flea": { elem2:null, chance:0.01 },
|
||||
"termite": { elem2:null, chance:0.01 },
|
||||
"fly": { elem2:null, chance:0.01 },
|
||||
"ant": { elem2:null, chance:0.01 },
|
||||
"stink_bug": { elem2:null, chance:0.01 },
|
||||
},
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 90,
|
||||
stateHigh: ["matcha","foam","foam","fragrance"],
|
||||
burn:10,
|
||||
burnTime:300,
|
||||
burnInto: ["fire","smoke","smoke","smoke","smoke","smoke","smoke","fragrance"],
|
||||
category:"food",
|
||||
state: "solid",
|
||||
density: 1400,
|
||||
isFood: true,
|
||||
}
|
||||
|
||||
elements.matcha = {
|
||||
color: "#74A12E",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"stench": { elem2:null },
|
||||
"flea": { elem2:null, chance:0.01 },
|
||||
"oxygen": { elem2:"fragrance", chance:0.01 },
|
||||
"infection": { elem2:"blood", chance:0.005 },
|
||||
"plague": { elem2:null, chance:0.004 },
|
||||
"sugar": { elem2:null, color1:"#8f5a21", chance:0.005},
|
||||
"honey": { elem2:null, color1:"#8f5a21", chance:0.005},
|
||||
"milk": { elem2:null, color1:"#9c6c38", chance:0.005},
|
||||
"nut_milk": { elem2:null, color1:"#9c6c38", chance:0.005},
|
||||
"fruit_milk": { elem2:null, color1:"#9c5938", chance:0.005},
|
||||
"chocolate_milk": { elem2:"foam", color1:"#784b1a", chance:0.005},
|
||||
"strawberry_jam": { elem2:"foam", color1:"#FC9FB1", chance:0.005},
|
||||
"pilk": { elem2:"foam", color1:"#9c7954", chance:0.005},
|
||||
"cream": { elem2:null, color1:"#9c6c38", chance:0.005},
|
||||
"ice_cream": { elem2:null, color1:"#9c6c38", chance:0.005},
|
||||
"tea": { elem2:"bubble", color2:"#87633d", attr2:{"clone":"tea"}, chance:0.001, tempMin:80 },
|
||||
"paper": { stain2:"#6c4317", chance:0.1 }
|
||||
},
|
||||
tempHigh: 125,
|
||||
stateHigh: ["steam","fragrance",null],
|
||||
temp: 70,
|
||||
tempLow: 0,
|
||||
category:"liquids",
|
||||
state: "liquid",
|
||||
density: 1001,
|
||||
stain: -0.1,
|
||||
hidden: true,
|
||||
isFood: true
|
||||
}
|
||||
|
||||
elements.meringue = {
|
||||
color: "#faf6ed",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
tempHigh: 186,
|
||||
stateHigh: ["steam","smoke"],
|
||||
viscosity: 1.5,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
density: 1036.86,
|
||||
isFood: true
|
||||
}
|
||||
|
||||
},true)
|
||||
|
|
@ -1466,6 +1466,7 @@ try {
|
|||
|
||||
function createPixelReturn(elementIn,x,y) { //sugar
|
||||
var element = elementIn; while(element instanceof Array) { element = randomChoice(element) };
|
||||
if(pixelMap[x]?.[y] == undefined) { return {} }
|
||||
var newPixel = new Pixel(x, y, element);
|
||||
currentPixels.push(newPixel);
|
||||
checkUnlock(element);
|
||||
|
|
@ -2214,8 +2215,8 @@ try {
|
|||
return thingsArray.join(", ")
|
||||
};
|
||||
};
|
||||
function capitalizeFirstLetter(string,locale=null) {
|
||||
return string[0][locale ? "toLocaleUpperCase" : "toUpperCase"](locale) + string.slice(1)
|
||||
function capitalizeFirstLetter(string) {
|
||||
return string[0].toUpperCase() + string.slice(1)
|
||||
};
|
||||
|
||||
//INTERFACE TO SET OTHER PIXEL PROPERTIES WHEN PLACING SPECIFIC ELEMENTS ##
|
||||
|
|
@ -4568,24 +4569,28 @@ color1 and color2 spread through striped paint like dye does with itself. <u>col
|
|||
}
|
||||
else if (Math.floor(Math.random()*100)<fireChance && !fireSpawnBlacklist.includes(pixel.element)) { // Spawn fire
|
||||
//console.log(fire);
|
||||
if (isEmpty(pixel.x,pixel.y-1)) {
|
||||
if (isEmpty(pixel.x,pixel.y-1,false)) {
|
||||
if(fire !== null) {
|
||||
createPixel(fire,pixel.x,pixel.y-1);
|
||||
pixelMap[pixel.x][pixel.y-1].temp = fireTemp;
|
||||
if (info.fireColor != undefined) {
|
||||
pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1],info.fireColor);
|
||||
};
|
||||
};
|
||||
let n = tryCreatePixel(fire,pixel.x,pixel.y-1);
|
||||
if(n) {
|
||||
n.temp = fireTemp;
|
||||
if (info.fireColor != undefined) {
|
||||
pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1],info.fireColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// same for below if top is blocked
|
||||
else if (isEmpty(pixel.x,pixel.y+1)) {
|
||||
else if (isEmpty(pixel.x,pixel.y+1,false)) {
|
||||
if(fire !== null) {
|
||||
createPixel(fire,pixel.x,pixel.y+1);
|
||||
pixelMap[pixel.x][pixel.y+1].temp = fireTemp;
|
||||
if (info.fireColor != undefined) {
|
||||
pixelMap[pixel.x][pixel.y+1].color = pixelColorPick(pixelMap[pixel.x][pixel.y+1],info.fireColor);
|
||||
};
|
||||
};
|
||||
let n = tryCreatePixel(fire,pixel.x,pixel.y+1);
|
||||
if(n) {
|
||||
n.temp = fireTemp;
|
||||
if (info.fireColor != undefined) {
|
||||
pixelMap[pixel.x][pixel.y+1].color = pixelColorPick(pixelMap[pixel.x][pixel.y+1],info.fireColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4685,14 +4690,18 @@ color1 and color2 spread through striped paint like dye does with itself. <u>col
|
|||
//console.log((pixel.x+randomMove1[0]) + " " + (pixel.y+randomMove1[1]))
|
||||
var newPixel = null;
|
||||
if(!outOfBounds(pixel.x+randomMove1[0],pixel.y+randomMove1[1])) {
|
||||
newPixel = pixelMap[pixel.x+randomMove1[0]][pixel.y+randomMove1[1]]; //newPixel is AAA
|
||||
if(pixelMap[pixel.x+randomMove1[0]] !== undefined) {
|
||||
newPixel = pixelMap[pixel.x+randomMove1[0]][pixel.y+randomMove1[1]]; //newPixel is AAA
|
||||
}
|
||||
};
|
||||
if(outOfBounds(pixel.x+randomMove1[0],pixel.y+randomMove1[1]) || !reactionStealer(pixel,newPixel,"radiation")) {
|
||||
var randomMove2 = move2Spots[Math.floor(Math.random() * move2Spots.length)];
|
||||
if(!tryMove(pixel, pixel.x+randomMove2[0], pixel.y+randomMove2[1])) {
|
||||
var newPixel = null;
|
||||
if(!outOfBounds(pixel.x+randomMove1[0],pixel.y+randomMove1[1])) {
|
||||
newPixel = pixelMap[pixel.x+randomMove1[0]][pixel.y+randomMove1[1]]; //newPixel is AAA
|
||||
if(pixelMap[pixel.x+randomMove1[0]] !== undefined) {
|
||||
newPixel = pixelMap[pixel.x+randomMove1[0]][pixel.y+randomMove1[1]]; //newPixel is AAA
|
||||
}
|
||||
};
|
||||
if(newPixel !== null) { reactionStealer(pixel,newPixel,"radiation") };
|
||||
};
|
||||
|
|
@ -13708,7 +13717,7 @@ Pixel size (rendering only): <input id="pixelSize"> (Use if the save looks cut o
|
|||
stats += "<span id='stat-burning' class='stat'>Burning</span>";
|
||||
}
|
||||
if (elements[currentPixel.element].hoverStat) {
|
||||
stats += "<span id='stat-hover' class='stat'>"+elements[currentPixel.element].hoverStat(currentPixel)+"</span>";
|
||||
stats += "<span id='stat-hover' class='stat'>"+elements[currentPixel.element]?.hoverStat?.(currentPixel)+"</span>";
|
||||
}
|
||||
else if (elements[currentElement].toolHoverStat) {
|
||||
stats += "<span id='stat-hover' class='stat'>"+elements[currentElement].toolHoverStat(currentPixel).toString().replaceAll("<","<")+"</span>";
|
||||
|
|
@ -14060,7 +14069,9 @@ Pixel size (rendering only): <input id="pixelSize"> (Use if the save looks cut o
|
|||
//3. slice(1) removes empty (OOB) position at y=0
|
||||
//4. indexOf(false) always shows the first matching item
|
||||
//5. an offset I don't understand (probably from that slice) shifts the first match to the empty spot above the first full pixel
|
||||
var firstEmptyY = [...pixelMap[x].map(obj =>!obj || elements[obj.element].state == "gas"),false].slice(1).indexOf(false);
|
||||
let row = pixelMap?.[x];
|
||||
if(!row) { return false };
|
||||
var firstEmptyY = [...(row.map(obj =>!obj || elements[obj.element].state == "gas")),false].slice(1).indexOf(false);
|
||||
if(firstEmptyY == -1) {
|
||||
return false;
|
||||
};
|
||||
|
|
@ -42225,7 +42236,7 @@ Make sure to save your command in a file if you want to add this preset again.`
|
|||
emptySlots = emptySlots.slice(0,2);
|
||||
for(var i = 0; i < emptySlots.length; i++) {
|
||||
var coords = emptySlots[i];
|
||||
createPixelReturn("steam",...coords).temp = pixel.temp
|
||||
let n = tryCreatePixelReturn("steam",...coords); if(n) { n.temp = pixel.temp }
|
||||
};
|
||||
changePixel(pixel,"calcium_sulfate",false);
|
||||
return
|
||||
|
|
@ -42243,7 +42254,7 @@ Make sure to save your command in a file if you want to add this preset again.`
|
|||
emptySlots = emptySlots.slice(0,2);
|
||||
for(var i = 0; i < emptySlots.length; i++) {
|
||||
var coords = emptySlots[i];
|
||||
createPixelReturn("steam",...coords).temp = pixel.temp
|
||||
let n = tryCreatePixelReturn("steam",...coords); if(n) { n.temp = pixel.temp }
|
||||
};
|
||||
changePixel(pixel,"molten_calcium_sulfate",false);
|
||||
return
|
||||
|
|
@ -46005,6 +46016,12 @@ maxPixels (default 1000): Maximum amount of pixels/changes (if xSpacing and ySpa
|
|||
logMessage("a_mod_by_alice.js requires many other mods. Many of the elements and features added with it installed are actually added by the other mods it depends on.")
|
||||
logMessage('These mods are libhooktick.js, chem.js, minecraft.js, Neutronium Mod.js, fey_and_more.js, velocity.js, ketchup_mod.js, moretools.js, aChefsDream.js, nousersthings.js. They were enabled automatically')
|
||||
})
|
||||
isEmpty = function(x, y, ignoreBounds=false, oob=false) {
|
||||
if (oob === true || outOfBounds(x,y)) {
|
||||
return ignoreBounds;
|
||||
}
|
||||
return pixelMap[x]?.[y] === undefined; //fix failure to handle nonexistent columns
|
||||
}
|
||||
} catch (error) {
|
||||
alert(`Load failed (try reloading).\nThis is likely a sporadic failure caused by inconsistencies in how mods are loaded, and will likely fix itself in a refresh or two. If it persists, then it's an issue.\nError: ${error.stack}`);
|
||||
console.error(error)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
function setCanvasBG(url) {
|
||||
// This mod has been deprecated in favor of the base game's Background setting.
|
||||
|
||||
/*
|
||||
|
||||
function setCanvasBG(url, color) {
|
||||
delete settings.bg;
|
||||
|
||||
let canvas = document.getElementById("game");
|
||||
|
|
@ -9,32 +13,47 @@ function setCanvasBG(url) {
|
|||
canvas.style.backgroundPosition = "bottom";
|
||||
|
||||
settings.bgimg = url;
|
||||
if (color) settings.bgimgcolor = color;
|
||||
else delete settings.bgimgcolor;
|
||||
|
||||
if (color) document.head.insertAdjacentHTML("beforeend", `<style id="canvasBGStyles">* {background-color:${color}} body, html {background-color:${color}!important}</style>`);
|
||||
else document.getElementById("canvasBGStyles")?.remove();
|
||||
|
||||
saveSettings()
|
||||
}
|
||||
function clearCanvasBG() {
|
||||
delete settings.bgimg;
|
||||
let canvas = document.getElementById("game");
|
||||
canvas.style.backgroundImage = "";
|
||||
canvas.style.backgroundRepeat = "";
|
||||
canvas.style.backgroundSize = "";
|
||||
canvas.style.backgroundPosition = "";
|
||||
document.getElementById("canvasBGStyles")?.remove();
|
||||
}
|
||||
|
||||
keybinds.KeyB = () => {
|
||||
function setCanvasBGPrompt() {
|
||||
promptInput("Enter an image URL. Leave blank to clear background.", (url) => {
|
||||
if (!url) {
|
||||
delete settings.bgimg;
|
||||
let canvas = document.getElementById("game");
|
||||
canvas.style.backgroundImage = "";
|
||||
canvas.style.backgroundRepeat = "";
|
||||
canvas.style.backgroundSize = "";
|
||||
canvas.style.backgroundPosition = "";
|
||||
clearCanvasBG();
|
||||
}
|
||||
setCanvasBG(url);
|
||||
}, "Background")
|
||||
}
|
||||
|
||||
keybinds.KeyB = () => {
|
||||
setCanvasBGPrompt()
|
||||
}
|
||||
|
||||
document.addEventListener("load", () => {
|
||||
if (settings.bgimg) {
|
||||
setCanvasBG(settings.bgimg)
|
||||
setCanvasBG(settings.bgimg, settings.bgimgcolor)
|
||||
}
|
||||
})
|
||||
|
||||
runAfterReset(() => {
|
||||
if (settings.bgimg) {
|
||||
setCanvasBG(settings.bgimg)
|
||||
setCanvasBG(settings.bgimg, settings.bgimgcolor)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
*/
|
||||
|
|
@ -1,6 +1,12 @@
|
|||
// This mod has been deprecated in favor of the base game's Outline View.
|
||||
|
||||
/*
|
||||
|
||||
let isMachine = {"machines":true}
|
||||
|
||||
elements.static.border = false;
|
||||
elements.mixer.border = false;
|
||||
elements.grinder.border = false;
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
let oldPreRenderer = viewInfo[1].pre;
|
||||
|
|
@ -10,12 +16,13 @@ window.addEventListener("load", () => {
|
|||
currentPixels.forEach(pixel => {
|
||||
if ((elements[pixel.element].movable !== true && isMachine[elements[pixel.element].category] === undefined) || elements[pixel.element].isGas === true) return;
|
||||
if (elements[pixel.element].border === false) return;
|
||||
if (pixel.alpha === 0) return;
|
||||
let edge = false;
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
var x = pixel.x + coords[0];
|
||||
var y = pixel.y + coords[1];
|
||||
if (isEmpty(x,y)) {
|
||||
if (isEmpty(x,y, true)) {
|
||||
// if (elements[pixelMap[x][y].element].id !== elements[pixel.element].id || elements[pixelMap[x][y].element].state !== elements[pixel.element].id) continue
|
||||
edge = true;
|
||||
break;
|
||||
|
|
@ -27,6 +34,7 @@ window.addEventListener("load", () => {
|
|||
|
||||
viewInfo[1].pixel = function(pixel, ctx) {
|
||||
if (elements[pixel.element].movable || isMachine[elements[pixel.element].category] === true) return oldPixelRenderer(pixel, ctx);
|
||||
if (pixel.alpha === 0) return;
|
||||
let edge = false;
|
||||
if (elements[pixel.element].border !== false) {
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
|
|
@ -65,3 +73,4 @@ window.addEventListener("load", () => {
|
|||
|
||||
})
|
||||
|
||||
*/
|
||||
|
|
@ -112,7 +112,7 @@ elements.submitted_blueprint_2_creator = {
|
|||
tick: function(pixel){
|
||||
if(!pixel.done){
|
||||
if (pixelTicks % 3 == 0){
|
||||
let randomcoord = getRandomPixelCoordinates(pixel, -1, -1, decaybp, {1: "led_r", 2:"porcelain", 3: "glass", 4: "tungsten", 5: "zinc", 6: "aluminum", 7: "copper", 8: "copper", 9: "steel", 10: "bronze", 11: "sterling"});
|
||||
let randomcoord = getRandomPixelCoordinates(pixel, -1, -1, decaybp, {1: "led", 2:"porcelain", 3: "glass", 4: "tungsten", 5: "zinc", 6: "aluminum", 7: "copper", 8: "copper", 9: "steel", 10: "bronze", 11: "sterling"});
|
||||
if (randomcoord == "terminated"){pixel.done = true; return;}
|
||||
let rx = pixel.x + randomcoord.x+1;
|
||||
let ry = pixel.y + randomcoord.y+1;
|
||||
|
|
|
|||
|
|
@ -394,6 +394,7 @@
|
|||
"led_r": ["AlInGaP"],
|
||||
"led_g": ["InGaN"],
|
||||
"led_b": ["InGaN"],
|
||||
"led": ["InGaN"],
|
||||
"tesla_coil": ["Cu"],
|
||||
"light_bulb": ["SiO<sub>2</sub>","Cu"],
|
||||
"shocker": ["Cu"],
|
||||
|
|
|
|||
|
|
@ -183,4 +183,12 @@ if (elements.brass) {elements.brass.color = ["#cb9e5d","#865e39"];}
|
|||
if (elements.bronze) {elements.bronze.color = "#cd7f32";}
|
||||
if (elements.sterling) {elements.sterling.color = ["#858478","#eae8e2","#bfbcb7"];}
|
||||
if (elements.solder) {elements.solder.color = "#a1a19d";}
|
||||
if (elements.sulfur) {elements.sulfur.color = ["#e9d74c","#89761b","#ddc56b"];}
|
||||
if (elements.sulfur) {elements.sulfur.color = ["#e9d74c","#89761b","#ddc56b"];}
|
||||
if (elements.random) {elements.random.color = ["#3e5f8a","#a334ec","#ea96f9","#a6ecf6","#70ebc8","#d9286b","#7eed91","#a18b30"];}
|
||||
if (elements.pyrite) {elements.pyrite.color = ["#e8e0cb","#cdcaaf","#726a53","#8f835e","#bfb9a0"];}
|
||||
if (elements.purple_gold) {elements.purple_gold.color = ["#f58fda","#d06cb5","#f58fda"];}
|
||||
if (elements.acid) {elements.acid.color = ["#b5cf91","#a1ff5e","#288f2a"];}
|
||||
|
||||
for (let element in elements) {
|
||||
if (elements[element].buttonColor !== undefined) delete elements[element].buttonColor;
|
||||
}
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
// dependOn("borders.js", ()=>{}, true);
|
||||
dependOn("glow.js", ()=>{}, true);
|
||||
// dependOn("background_changer.js", ()=>{}, true);
|
||||
dependOn("cursor.js", ()=>{}, true);
|
||||
dependOn("devsnacks.js", ()=>{}, true);
|
||||
|
||||
function minimizeElement(selector) {
|
||||
document.querySelectorAll(selector).forEach(element => {
|
||||
element.classList.add("minimized");
|
||||
});
|
||||
}
|
||||
function maximizeAll() {
|
||||
document.querySelectorAll(".minimized").forEach((e) => {
|
||||
e.classList.remove("minimized");
|
||||
})
|
||||
}
|
||||
document.head.insertAdjacentHTML("beforeend", `
|
||||
<style>
|
||||
.minimized {display:none!important}
|
||||
button:focus, * {outline:0;}
|
||||
#underDiv {opacity: 0.5; transition: opacity 0.5s}
|
||||
#underDiv:hover {opacity: 1}
|
||||
#categoryControls {flex-wrap: nowrap!important;}
|
||||
#categoryControls button {padding-left:0.9em!important;padding-right:0.9em!important}
|
||||
#promptParent {
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
</style>
|
||||
`);
|
||||
|
||||
settings.pixelsize = "6w";
|
||||
|
||||
let __setMouseColor = (color) => {
|
||||
mouseColor = color;
|
||||
settings.mouseColor = color;
|
||||
}
|
||||
|
||||
contentModOptions = {
|
||||
// "Set Background": () => {
|
||||
// promptChoose("", [
|
||||
// "Custom", "Grassland", "Sky", "Sky Warm", "Sky Pink", "Sky Purple", "Sky Dark"
|
||||
// ], r => {
|
||||
// if (r === "Custom") setCanvasBGPrompt();
|
||||
// else if (r === "Grassland") {
|
||||
// setCanvasBG("https://i.imgur.com/Id9WZv4.png", "#2d6138");
|
||||
// __setMouseColor("#000000");
|
||||
// }
|
||||
// else if (r === "Sky") {
|
||||
// setCanvasBG("https://i.imgur.com/Er068gC.png", "#647690");
|
||||
// __setMouseColor("#000000");
|
||||
// }
|
||||
// else if (r === "Sky Warm") {
|
||||
// setCanvasBG("https://i.imgur.com/1GWI5xd.png", "#904f45");
|
||||
// __setMouseColor("#000000");
|
||||
// }
|
||||
// else if (r === "Sky Pink") {
|
||||
// setCanvasBG("https://i.imgur.com/f5gltLn.png", "#435897");
|
||||
// __setMouseColor("#FFFFFF");
|
||||
// }
|
||||
// else if (r === "Sky Purple") {
|
||||
// setCanvasBG("https://i.imgur.com/1KNCIwJ.png", "#763CB5");
|
||||
// __setMouseColor("#FFFFFF");
|
||||
// }
|
||||
// else if (r === "Sky Dark") {
|
||||
// setCanvasBG("https://i.imgur.com/wbYia5p.png", "#181628");
|
||||
// __setMouseColor("#FFFFFF");
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
// "Clear Background": () => {
|
||||
// clearCanvasBG();
|
||||
// mouseColor = "rgba(255,255,255)";
|
||||
// delete settings.mouseColor;
|
||||
// },
|
||||
"Set Cursor Color": () => {
|
||||
promptInput("Enter an image URL. Leave blank to clear background.", (color) => {
|
||||
if (!color) {
|
||||
delete settings.mouseColor;
|
||||
return;
|
||||
}
|
||||
mouseColor = color;
|
||||
settings.mouseColor = color;
|
||||
}, "Mouse Color")
|
||||
},
|
||||
"Minimize UI": () => {
|
||||
minimizeElement("#stats");
|
||||
minimizeElement("#extraInfo");
|
||||
minimizeElement("#bottomInfoBox");
|
||||
minimizeElement("#logDiv");
|
||||
minimizeElement("#toolControls");
|
||||
document.getElementById("category-tools").style.borderTop = "6px black solid";
|
||||
document.getElementById("category-tools").style.paddingTop = "0.5em";
|
||||
resetPrompt();
|
||||
},
|
||||
"Maximize UI": () => {
|
||||
maximizeAll();
|
||||
},
|
||||
"Content Hub": () => {
|
||||
window.open("https://r74n.com/content/", '_blank');
|
||||
},
|
||||
}
|
||||
|
||||
keybinds.KeyV = () => {
|
||||
promptChoose("", Object.keys(contentModOptions), (r) => {
|
||||
contentModOptions[r]();
|
||||
})
|
||||
}
|
||||
|
||||
elements.invis = {
|
||||
renderer: (pixel,ctx) => {
|
||||
if (currentElement === "invis") {
|
||||
drawSquare(ctx,"#00ff00",pixel.x,pixel.y);
|
||||
}
|
||||
},
|
||||
behavior: (pixel) => {
|
||||
doDefaults(pixel);
|
||||
},
|
||||
onPlace: (pixel) => {
|
||||
pixel.alpha = 0;
|
||||
},
|
||||
tool: (pixel) => {
|
||||
pixel.alpha = 0;
|
||||
},
|
||||
category: "special",
|
||||
color: "#00ff00"
|
||||
}
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
contentModOptions["Minimize UI"]();
|
||||
})
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
elements.broken_core = {
|
||||
color: "#2e2e2e",
|
||||
behavior: behaviors.POWDER,
|
||||
temp: 30,
|
||||
desc: "Broken core. Result of overheat of safe/medium type cores.",
|
||||
state: "solid",
|
||||
category: "cores",
|
||||
}
|
||||
|
||||
elements.fa_explosion = {
|
||||
color: ["#00ffa2", "#06c982"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|EX:390>plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,radiation,radiation,radiation,radiation,radiation,supernova,supernova,oxygen|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "cores",
|
||||
temp: 5473876573873892387,
|
||||
desc: "SUPER POWERFUL EXPLOSION.",
|
||||
}
|
||||
|
||||
elements.safe_core = {
|
||||
color: "#ffc400",
|
||||
behavior: behaviors.WALL,
|
||||
temp: 300,
|
||||
desc: "Basic core. Doesn't heat up very much.",
|
||||
category: "cores",
|
||||
state: "solid",
|
||||
stateHigh: "broken_core",
|
||||
tempHigh: 4000,
|
||||
tick: function (pixel) {
|
||||
pixel.temp += 8;
|
||||
},
|
||||
}
|
||||
|
||||
elements.nuclear_core = {
|
||||
color: "#eaff00",
|
||||
behavior: behaviors.WALL,
|
||||
temp: 600,
|
||||
desc: "Nuclear core. Doesn't heat up... much.",
|
||||
category: "cores",
|
||||
state: "solid",
|
||||
stateHigh: "broken_core",
|
||||
tempHigh: 9000,
|
||||
tick: function (pixel) {
|
||||
pixel.temp += 21;
|
||||
},
|
||||
hardness: 1,
|
||||
}
|
||||
|
||||
elements.thermonuclear_core = {
|
||||
color: "#03fc5e",
|
||||
behavior: behaviors.WALL,
|
||||
temp: 9000,
|
||||
desc: "Thermo-nuclear core. USE WITH EXTREME CAUTION.",
|
||||
category: "cores",
|
||||
state: "solid",
|
||||
stateHigh: "n_explosion",
|
||||
tempHigh: 96000,
|
||||
tick: function (pixel) {
|
||||
pixel.temp += 147;
|
||||
},
|
||||
hardness: 1,
|
||||
}
|
||||
|
||||
elements.thermonuclear_fusion_core = {
|
||||
color: "#630134",
|
||||
behavior: behaviors.WALL,
|
||||
temp: 754803,
|
||||
desc: "Fusion core, basically the most destructive core. KEEP OUT AND DON'T USE.",
|
||||
category: "cores",
|
||||
state: "solid",
|
||||
stateHigh: "fa_explosion",
|
||||
tempHigh: 9600000,
|
||||
tick: function (pixel) {
|
||||
pixel.temp += 19047;
|
||||
},
|
||||
hardness: 1,
|
||||
}
|
||||
|
||||
elements.reactor_fluid = {
|
||||
color: "#00a5b8",
|
||||
behavior: behaviors.LIQUID,
|
||||
temp: -50,
|
||||
tempHigh: 500,
|
||||
stateHigh: "steam",
|
||||
desc: "Nuclear reactor cooling fluid. You can use it instead of water.",
|
||||
state: "liquid",
|
||||
category: "cores"
|
||||
}
|
||||
|
|
@ -206,7 +206,7 @@ elements.molten_iron.reactions.sulfur = { elem1: "pyrite", elem2: null, chance:
|
|||
elements.molten_iron.reactions.molten_sulfur = { elem1: "pyrite", elem2: null, chance: 0.25 }
|
||||
elements.molten_iron.reactions.sulfur_gas = { elem1: "pyrite", elem2: null, chance: 0.25 }
|
||||
|
||||
elements.pyrite = {
|
||||
elements.cubesstuff_pyrite = {
|
||||
color: ["#d8c25e", "#bbaa49", "#998f3e"],
|
||||
alias: ["fools_gold", "Iron Disulfide"],
|
||||
density: 5000,
|
||||
|
|
@ -215,7 +215,7 @@ elements.pyrite = {
|
|||
grain: 0.4,
|
||||
state: "solid",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids"
|
||||
category: "deprecated"
|
||||
}
|
||||
|
||||
elements.fire_extinguisher_powder = {
|
||||
|
|
@ -789,7 +789,7 @@ elements.rgb_led = {
|
|||
"light": { charge1: 1, elem2: null },
|
||||
"liquid_light": { charge1: 1, elem2: null }
|
||||
},
|
||||
category: "machines",
|
||||
category: "deprecated",
|
||||
tempHigh: 1500,
|
||||
stateHigh: ["molten_glass", "molten_glass", "molten_glass", "molten_gallium"],
|
||||
|
||||
|
|
@ -1763,7 +1763,7 @@ globals.heatAmount = 2
|
|||
|
||||
elements.adjustable_heater = {
|
||||
color: "#ff0000",
|
||||
category: "machines",
|
||||
category: "deprecated",
|
||||
insulate: true,
|
||||
behavior: behaviors.WALL,
|
||||
|
||||
|
|
@ -1846,7 +1846,7 @@ globals.coolAmount = 2; // adjustable step
|
|||
|
||||
elements.adjustable_cooler = {
|
||||
color: "#0000ff",
|
||||
category: "machines",
|
||||
category: "deprecated",
|
||||
insulate: true,
|
||||
behavior: behaviors.WALL,
|
||||
|
||||
|
|
@ -3326,3 +3326,4 @@ elements.replace_all_of_element = {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -56,23 +56,7 @@ elements.smoke.renderer = function(pixel,ctx) {
|
|||
elements.radiation.renderer = function(pixel,ctx) {
|
||||
shade(ctx, pixel.color, pixel.x, pixel.y, 2, 0.25)
|
||||
}
|
||||
elements.led_r.renderer = function(pixel,ctx) {
|
||||
if (pixel.charge) {
|
||||
shade(ctx, pixel.color, pixel.x, pixel.y, 3, 0.5)
|
||||
}
|
||||
else {
|
||||
shade(ctx, pixel.color, pixel.x, pixel.y, 0, 1)
|
||||
}
|
||||
}
|
||||
elements.led_g.renderer = function(pixel,ctx) {
|
||||
if (pixel.charge) {
|
||||
shade(ctx, pixel.color, pixel.x, pixel.y, 3, 0.5)
|
||||
}
|
||||
else {
|
||||
shade(ctx, pixel.color, pixel.x, pixel.y, 0, 1)
|
||||
}
|
||||
}
|
||||
elements.led_b.renderer = function(pixel,ctx) {
|
||||
elements.led.renderer = function(pixel,ctx) {
|
||||
if (pixel.charge) {
|
||||
shade(ctx, pixel.color, pixel.x, pixel.y, 3, 0.5)
|
||||
}
|
||||
|
|
@ -80,3 +64,27 @@ elements.led_b.renderer = function(pixel,ctx) {
|
|||
shade(ctx, pixel.color, pixel.x, pixel.y, 0, 1)
|
||||
}
|
||||
}
|
||||
// elements.led_r.renderer = function(pixel,ctx) {
|
||||
// if (pixel.charge) {
|
||||
// shade(ctx, pixel.color, pixel.x, pixel.y, 3, 0.5)
|
||||
// }
|
||||
// else {
|
||||
// shade(ctx, pixel.color, pixel.x, pixel.y, 0, 1)
|
||||
// }
|
||||
// }
|
||||
// elements.led_g.renderer = function(pixel,ctx) {
|
||||
// if (pixel.charge) {
|
||||
// shade(ctx, pixel.color, pixel.x, pixel.y, 3, 0.5)
|
||||
// }
|
||||
// else {
|
||||
// shade(ctx, pixel.color, pixel.x, pixel.y, 0, 1)
|
||||
// }
|
||||
// }
|
||||
// elements.led_b.renderer = function(pixel,ctx) {
|
||||
// if (pixel.charge) {
|
||||
// shade(ctx, pixel.color, pixel.x, pixel.y, 3, 0.5)
|
||||
// }
|
||||
// else {
|
||||
// shade(ctx, pixel.color, pixel.x, pixel.y, 0, 1)
|
||||
// }
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ smash into tea powder
|
|||
tea powder + hot water = colored tea
|
||||
*/
|
||||
|
||||
dependOn("mustard.js", ()=>{}, true);
|
||||
|
||||
elements.herb.tempHigh = 100;
|
||||
elements.herb.stateHigh = ["steamed_herb","steamed_herb","steam",null];
|
||||
|
||||
|
|
@ -157,4 +159,35 @@ elements.mayochup = {
|
|||
density: 1072.5,
|
||||
isFood: true,
|
||||
hidden: true
|
||||
};
|
||||
};
|
||||
|
||||
elements.spice = {
|
||||
color: ["#DD4F40","#A14130"],
|
||||
grain: 2,
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"water": { elem1:null, elem2:"spicy_water", chance:0.2 },
|
||||
"salt_water": { elem1:null, elem2:"spicy_water", chance:0.2 },
|
||||
"sugar_water": { elem1:null, elem2:"spicy_water", chance:0.2 },
|
||||
},
|
||||
tempHigh: 350,
|
||||
stateHigh: "smoke",
|
||||
category:"food",
|
||||
state: "solid",
|
||||
density: 2160,
|
||||
isFood: true
|
||||
};
|
||||
elements.spicy_water = {
|
||||
color: "#eeac9e",
|
||||
behavior: behaviors.LIQUID,
|
||||
|
||||
tempHigh: 100,
|
||||
stateHigh: ["steam","spice"],
|
||||
category:"food",
|
||||
state: "liquid",
|
||||
density: 997,
|
||||
isFood: true
|
||||
};
|
||||
elements.broth.reactions.spice = { color1:"#ef713f", tempMin:70, chance:0.05 };
|
||||
elements.broth.reactions.spicy_water = { color1:"#ef713f", tempMin:70, chance:0.05 };
|
||||
elements.meat.reactions.spicy_water = { elem2:"broth", color2:"#ef713f", tempMin:70 };
|
||||
|
|
@ -51,9 +51,10 @@ elements.potato_seed.extraInfo = "Digs through dirt and creates potatoes.";
|
|||
elements.grass_seed.extraInfo = "Plants grass of variable height.";
|
||||
elements.electric.extraInfo = "Produces a brief electrical spark.";
|
||||
elements.neon.extraInfo = "Glows when powered.";
|
||||
elements.led_r.extraInfo = "Lights up when powered.";
|
||||
elements.led_g.extraInfo = "Lights up when powered.";
|
||||
elements.led_b.extraInfo = "Lights up when powered.";
|
||||
elements.led.extraInfo = "Lights up when powered.";
|
||||
// elements.led_r.extraInfo = "Lights up when powered.";
|
||||
// elements.led_g.extraInfo = "Lights up when powered.";
|
||||
// elements.led_b.extraInfo = "Lights up when powered.";
|
||||
elements.ecloner.extraInfo = "Clones the first pixel that touches it when powered.";
|
||||
elements.cloner.extraInfo = "Clones the first pixel that touches it.";
|
||||
elements.slow_cloner.extraInfo = "Clones the first pixel that touches it.";
|
||||
|
|
@ -71,8 +72,8 @@ elements.static.extraInfo = "Flickers in grayscale.";
|
|||
elements.gray_goo.extraInfo = "Duplicates itself when touching other pixels.";
|
||||
elements.virus.extraInfo = "Duplicates itself when touching other pixels.";
|
||||
elements.snake.extraInfo = "Goes around in a snake-like pattern.";
|
||||
elements.shocker.extraInfo = "Produces sparks when powered.";
|
||||
// elements.shocker.extraInfo = "Produces sparks when powered.";
|
||||
elements.pressure_plate.extraInfo = "Produces electricity when something is above it.";
|
||||
elements.light_bulb.extraInfo = "Produces light when powered.";
|
||||
elements.tesla_coil.extraInfo = "Produces plasma when powered.";
|
||||
// elements.tesla_coil.extraInfo = "Produces plasma when powered.";
|
||||
elements.border.extraInfo = "Produces a border effect.";
|
||||
|
|
|
|||
|
|
@ -306,9 +306,10 @@ elements.firefly.tick = function(pixel) {
|
|||
elements.electric.tick = pixel => glowColor(pixel, scaleList(getRandomElement(sparkColors), 0.5));
|
||||
|
||||
elements.neon.tick = glowItsOwnColorIfPowered;
|
||||
elements.led_r.tick = glowItsOwnColorIfPowered;
|
||||
elements.led_g.tick = glowItsOwnColorIfPowered;
|
||||
elements.led_b.tick = glowItsOwnColorIfPowered;
|
||||
elements.led.tick = glowItsOwnColorIfPowered;
|
||||
// elements.led_r.tick = glowItsOwnColorIfPowered;
|
||||
// elements.led_g.tick = glowItsOwnColorIfPowered;
|
||||
// elements.led_b.tick = glowItsOwnColorIfPowered;
|
||||
elements.light_bulb.behaviorOn = null;
|
||||
elements.light_bulb.tick = glowItsOwnColorIfPowered;
|
||||
elements.sun.tick = glowItsOwnColor;
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ elements.rock.breakInto.push("rock_dust")
|
|||
|
||||
lightArray = ["fire", "plasma", "cold_fire", "light", "laser", "electric", "radiation", "mystic_fire", "liquid_fire", "liquid_plasma", "liquid_cold_fire", "le_liquid_light", "liquid_laser", "liquid_electric", "liquid_radiation", "liquid_mystic_fire", "magma", "liquid_light", "solid_light"]
|
||||
|
||||
ledArray = ["led_r", "led_g", "led_b"]
|
||||
ledArray = ["led", "led_r", "led_g", "led_b"]
|
||||
|
||||
elements.iocalfaeus_gas = {
|
||||
color: ["#562173", "#481b61"],
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ viewInfo[1] = { // Blur Glow (Emissive pixels only)
|
|||
};
|
||||
|
||||
renderEachPixel(function(pixel,ctx) {
|
||||
if (view === 1 && settings.textures !== 0) {
|
||||
if ((view === 1 || viewInfo[view].alias === 1) && settings.textures !== 0) {
|
||||
if (elements[pixel.element].emit || pixel.emit || (elements[pixel.element].colorOn && pixel.charge)) {
|
||||
let a = (settings.textures !== 0) ? pixel.alpha : undefined;
|
||||
let d = pixel.emit||elements[pixel.element].emit||true;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,199 @@
|
|||
// --- 1. THE FIREWALL ---
|
||||
|
||||
elements.body_tissue = {
|
||||
color: "#b06d67",
|
||||
behavior: behaviors.WALL,
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 2000,
|
||||
};
|
||||
|
||||
elements.cytokines = {
|
||||
color: "#fff700",
|
||||
behavior: behaviors.GAS,
|
||||
category: "life",
|
||||
state: "gas",
|
||||
density: 1,
|
||||
tick: function(pixel) {
|
||||
if (Math.random() < 0.05) { deletePixel(pixel.x, pixel.y); }
|
||||
}
|
||||
};
|
||||
|
||||
// --- 2. THE TARGETS ---
|
||||
|
||||
elements.body_cell = {
|
||||
color: "#8b0000",
|
||||
behavior: behaviors.STURDY,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
};
|
||||
|
||||
// --- 3. CORE LOGIC (Movement & Targeting) ---
|
||||
|
||||
function findTarget(pixel, targets, radius) {
|
||||
for (var i = -radius; i <= radius; i++) {
|
||||
for (var j = -radius; j <= radius; j++) {
|
||||
var nx = pixel.x + i;
|
||||
var ny = pixel.y + j;
|
||||
if (!outOfBounds(nx, ny)) {
|
||||
var check = pixelMap[nx][ny];
|
||||
if (check && targets.includes(check.element)) {
|
||||
return {x: nx, y: ny};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function moveStep(pixel, tx, ty) {
|
||||
var dx = Math.sign(tx - pixel.x);
|
||||
var dy = Math.sign(ty - pixel.y);
|
||||
var nx = pixel.x + dx;
|
||||
var ny = pixel.y + dy;
|
||||
|
||||
if (isEmpty(nx, ny)) {
|
||||
tryMove(pixel, nx, ny);
|
||||
} else {
|
||||
var obs = pixelMap[nx][ny];
|
||||
// STRICT BARRIER: Cannot move through or swap with Tissue or Skin
|
||||
if (obs && obs.element !== "body_tissue" && obs.element !== "skin" && obs.element !== "wall") {
|
||||
var ox = pixel.x; var oy = pixel.y;
|
||||
movePixel(pixel, nx, ny);
|
||||
movePixel(obs, ox, oy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- 4. PATHOGENS ---
|
||||
|
||||
elements.bacteria = {
|
||||
color: "#2feb5b",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "life",
|
||||
tick: function(pixel) {
|
||||
if (!pixel.eatCD) { pixel.eatCD = 0; }
|
||||
if (pixel.eatCD > 0) { pixel.eatCD--; return; }
|
||||
|
||||
var target = findTarget(pixel, ["body_cell", "rbc", "stem_cell"], 8);
|
||||
if (target) {
|
||||
if (Math.abs(target.x - pixel.x) <= 1 && Math.abs(target.y - pixel.y) <= 1) {
|
||||
// Kill with Cooldown
|
||||
deletePixel(target.x, target.y);
|
||||
if (Math.random() < 0.3) createPixel("cytokines", target.x, target.y);
|
||||
createPixel("dna", target.x, target.y);
|
||||
pixel.eatCD = 40;
|
||||
} else {
|
||||
moveStep(pixel, target.x, target.y);
|
||||
}
|
||||
} else {
|
||||
if (Math.random() < 0.2) tryMove(pixel, pixel.x + Math.floor(Math.random()*3)-1, pixel.y + Math.floor(Math.random()*3)-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
elements.virus = {
|
||||
color: "#6a0dad",
|
||||
behavior: behaviors.GAS,
|
||||
category: "life",
|
||||
reactions: { "body_cell": { elem2: "infected_cell", elem1: null } }
|
||||
};
|
||||
|
||||
// --- 5. IMMUNE SYSTEM ---
|
||||
|
||||
elements.phagocyte = {
|
||||
color: "#e0f7fa",
|
||||
category: "life",
|
||||
tick: function(pixel) {
|
||||
var target = findTarget(pixel, ["bacteria", "virus", "pus"], 12) || findTarget(pixel, ["cytokines"], 20);
|
||||
if (target) {
|
||||
moveStep(pixel, target.x, target.y);
|
||||
} else {
|
||||
if (Math.random() < 0.1) tryMove(pixel, pixel.x + Math.floor(Math.random()*3)-1, pixel.y + Math.floor(Math.random()*3)-1);
|
||||
}
|
||||
},
|
||||
reactions: {
|
||||
"bacteria": { elem2: null, func: function(pixel) { pixel.ate = (pixel.ate || 0) + 1; if(pixel.ate > 5) changePixel(pixel, "pus"); }},
|
||||
"virus": { elem2: null, func: function(pixel) { pixel.ate = (pixel.ate || 0) + 1; if(pixel.ate > 5) changePixel(pixel, "pus"); }},
|
||||
"cytokines": { elem2: null }
|
||||
}
|
||||
};
|
||||
|
||||
elements.t_cell = {
|
||||
color: "#2962ff",
|
||||
category: "life",
|
||||
tick: function(pixel) {
|
||||
if (!pixel.killCD) { pixel.killCD = 0; }
|
||||
if (pixel.killCD > 0) { pixel.killCD--; return; }
|
||||
|
||||
var target = findTarget(pixel, ["infected_cell"], 12) || findTarget(pixel, ["cytokines"], 15);
|
||||
if (target) {
|
||||
var targetPixel = pixelMap[target.x][target.y];
|
||||
if (targetPixel.element === "infected_cell" && Math.abs(target.x - pixel.x) <= 1 && Math.abs(target.y - pixel.y) <= 1) {
|
||||
changePixel(targetPixel, "pus");
|
||||
pixel.killCD = 30;
|
||||
} else {
|
||||
moveStep(pixel, target.x, target.y);
|
||||
}
|
||||
} else {
|
||||
if (Math.random() < 0.1) tryMove(pixel, pixel.x + Math.floor(Math.random()*3)-1, pixel.y + Math.floor(Math.random()*3)-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
elements.b_cell = {
|
||||
color: "#ffaa00",
|
||||
behavior: behaviors.CELL,
|
||||
category: "life",
|
||||
tick: function(pixel) {
|
||||
if (!pixel.cd) { pixel.cd = 0; }
|
||||
if (pixel.cd > 0) { pixel.cd--; }
|
||||
|
||||
if (pixel.cd === 0 && Math.random() < 0.4) {
|
||||
var enemy = findTarget(pixel, ["bacteria", "virus", "infected_cell"], 20);
|
||||
if (enemy) {
|
||||
var rx = Math.floor(Math.random() * 3) - 1;
|
||||
var ry = Math.floor(Math.random() * 3) - 1;
|
||||
if (isEmpty(pixel.x + rx, pixel.y + ry)) {
|
||||
createPixel("antibody", pixel.x + rx, pixel.y + ry);
|
||||
pixel.cd = 25;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Math.random() < 0.05) tryMove(pixel, pixel.x + Math.floor(Math.random()*3)-1, pixel.y + Math.floor(Math.random()*3)-1);
|
||||
}
|
||||
};
|
||||
|
||||
// --- 6. MISC ---
|
||||
|
||||
elements.stem_cell = {
|
||||
color: "#ffc0cb",
|
||||
behavior: behaviors.CELL,
|
||||
category: "life",
|
||||
tick: function(pixel) {
|
||||
if (Math.random() < 0.05) {
|
||||
var rx = Math.floor(Math.random() * 3) - 1;
|
||||
var ry = Math.floor(Math.random() * 3) - 1;
|
||||
if (isEmpty(pixel.x + rx, pixel.y + ry)) {
|
||||
createPixel(Math.random() < 0.8 ? "body_cell" : "body_tissue", pixel.x + rx, pixel.y + ry);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
elements.rbc = { color: ["#ff0000", "#d10000", "#e62e2e"], behavior: behaviors.LIQUID, category: "life", state: "liquid", density: 1010 };
|
||||
elements.pus = { color: "#ebf2a0", behavior: behaviors.LIQUID, category: "life", state: "liquid", density: 1100 };
|
||||
elements.dna = { color: "#68c290", behavior: behaviors.POWDER, category: "life" };
|
||||
elements.infected_cell = { color: ["#5e8a38", "#496e2b"], behavior: behaviors.CELL, category: "life", reactions: { "body_cell": { elem2: "infected_cell", chance: 0.01 } } };
|
||||
|
||||
elements.antibody = {
|
||||
color: "#ffe100",
|
||||
category: "life",
|
||||
tick: function(pixel) {
|
||||
var target = findTarget(pixel, ["bacteria", "virus", "infected_cell"], 15);
|
||||
if (target) moveStep(pixel, target.x, target.y);
|
||||
else if (Math.random() < 0.1) tryMove(pixel, pixel.x, pixel.y + 1);
|
||||
},
|
||||
reactions: { "bacteria": { elem1: null, elem2: null }, "virus": { elem1: null, elem2: null }, "infected_cell": { elem1: null, elem2: "pus" } }
|
||||
};
|
||||
|
|
@ -353,9 +353,10 @@ elements.firefly.tick = function(pixel) {
|
|||
elements.electric.tick = pixel => glowColor(pixel, scaleList(getRandomElement(sparkColors), 0.5));
|
||||
|
||||
elements.neon.tick = glowItsOwnColorIfPowered;
|
||||
elements.led_r.tick = glowItsOwnColorIfPowered;
|
||||
elements.led_g.tick = glowItsOwnColorIfPowered;
|
||||
elements.led_b.tick = glowItsOwnColorIfPowered;
|
||||
elements.led.tick = glowItsOwnColorIfPowered;
|
||||
// elements.led_r.tick = glowItsOwnColorIfPowered;
|
||||
// elements.led_g.tick = glowItsOwnColorIfPowered;
|
||||
// elements.led_b.tick = glowItsOwnColorIfPowered;
|
||||
elements.light_bulb.behaviorOn = null;
|
||||
elements.light_bulb.tick = glowItsOwnColorIfPowered;
|
||||
elements.sun.tick = glowItsOwnColor;
|
||||
|
|
|
|||
|
|
@ -49,7 +49,11 @@ elements.ledP = {
|
|||
elements.esuperheater = {
|
||||
color: "#ff69b4",
|
||||
behavior: behaviors.WALL,
|
||||
behaviorOn: elements.superheater.behavior,
|
||||
behaviorOn: [
|
||||
"XX|HT:10|XX",
|
||||
"HT:10|XX|HT:10",
|
||||
"XX|HT:10|XX",
|
||||
],
|
||||
category: "machines",
|
||||
insulate: elements.wire.insulate,
|
||||
conduct: elements.wire.conduct,
|
||||
|
|
@ -76,7 +80,11 @@ elements.ecooler = {
|
|||
elements.efreezer = {
|
||||
color: "#E0FFFF",
|
||||
behavior: behaviors.WALL,
|
||||
behaviorOn: elements.freezer.behavior,
|
||||
behaviorOn: [
|
||||
"XX|CO:10|XX",
|
||||
"CO:10|XX|CO:10",
|
||||
"XX|CO:10|XX",
|
||||
],
|
||||
category: "machines",
|
||||
insulate: elements.wire.insulate,
|
||||
conduct: elements.wire.conduct,
|
||||
|
|
|
|||
79
mods/mars.js
79
mods/mars.js
|
|
@ -113,7 +113,7 @@ elements.mars_ironheart_ore = {
|
|||
elements.mars_ironheart = {
|
||||
color: ["#e8e8e8", "#bd1102"],
|
||||
behavior: [
|
||||
"XX|CR:radiation%3|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
|
|
@ -191,22 +191,6 @@ elements.depleted_ironheart = {
|
|||
"electric": { elem1: "smint", elem2: "null" },
|
||||
},
|
||||
}
|
||||
elements.feynmanium = {
|
||||
color: "#8C7656",
|
||||
behavior: [
|
||||
"XX|XX|XX|",
|
||||
"XX|XX|XX|",
|
||||
"M2|M1|M2|",
|
||||
],
|
||||
category: "mars",
|
||||
density: 1200,
|
||||
state: "solid",
|
||||
stateHigh: "molten_mars",
|
||||
tempHigh: 6000,
|
||||
reactions: {
|
||||
"electric": { elem1: "smint", elem2: "null" },
|
||||
},
|
||||
}
|
||||
elements.antigunk = {
|
||||
color: "#cecece",
|
||||
behavior: behaviors.DGAS,
|
||||
|
|
@ -391,8 +375,59 @@ elements.ironheart_core = {
|
|||
conduct: 1,
|
||||
extraInfo: "wha"
|
||||
}
|
||||
|
||||
// 2.10.20
|
||||
elements.mars_fossil = {
|
||||
color: ["#3d3d3d", "#707070", "#395034"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "mars",
|
||||
state: "solid",
|
||||
tempHigh: 2500,
|
||||
hardness: 0.975,
|
||||
stateHigh: "molten_mars",
|
||||
tempLow: -170,
|
||||
stateLow: "mars_rock",
|
||||
extraInfo: "Fossils! From Mars! Simply just smash them to get some tiny creatures.",
|
||||
hardness: 0.4,
|
||||
breakInto: "mars_debris"
|
||||
}
|
||||
elements.ironheart_gas = {
|
||||
color: ["#500000ff", "#a7a7a7ff", "#a80000ff"],
|
||||
behavior: behaviors.GAS,
|
||||
category: "mars",
|
||||
state: "gas",
|
||||
tempLow: -100,
|
||||
stateLow: "liquid_ironheart_gas",
|
||||
extraInfo: "gasses"
|
||||
}
|
||||
elements.liquid_ironheart_gas = {
|
||||
color: ["#500000ff", "#a7a7a7ff", "#a80000ff"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "mars",
|
||||
state: "liquid",
|
||||
temp: -150,
|
||||
extraInfo: "liquids"
|
||||
}
|
||||
elements.phing = {
|
||||
color: "#00c40aff",
|
||||
behavior: [
|
||||
"XX|XX|XX|",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "phings",
|
||||
state: "solid",
|
||||
tempHigh: "800",
|
||||
stateHigh: "dead_phing",
|
||||
breakInto: "dead_phing",
|
||||
extraInfo: "wha"
|
||||
}
|
||||
elements.dead_phing = {
|
||||
color: "#947e00ff",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "phings",
|
||||
state: "solid",
|
||||
extraInfo: "DEAD! You KILLED THEM!"
|
||||
}
|
||||
// 2.11.20
|
||||
// most elements done :D
|
||||
// iron heart ore
|
||||
// iron heart
|
||||
|
|
@ -427,6 +462,12 @@ elements.ironheart_core = {
|
|||
// Red Gold is Solid
|
||||
// Feynmanium
|
||||
// make things have recaitons
|
||||
// its here!
|
||||
// remove feynmanium
|
||||
// ironheart is no longer radioactive
|
||||
// fossils!
|
||||
|
||||
|
||||
// Creditssss
|
||||
// Ghanisma - idea for 2.9.16
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,24 @@
|
|||
(() => {
|
||||
function runKeybind() {
|
||||
promptInput("Input the keybind you want to run. (e.g. KeyA, Digit1, Backspace)", (keybind) => {
|
||||
if (/^[A-Za-z]$/.test(keybind)) keybind = "Key" + keybind.toUpperCase()
|
||||
if (/^[0-9]$/.test(keybind)) {
|
||||
setView(Number(keybind))
|
||||
}
|
||||
if (keybinds[keybind]) {
|
||||
keybinds[keybind]();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (isMobile) {
|
||||
function loadButton() {
|
||||
const keybindButton = document.createElement("button")
|
||||
if (!keybindButton) {
|
||||
setTimeout(loadButton, 100)
|
||||
return
|
||||
}
|
||||
keybindButton.id = "keybindButton"
|
||||
keybindButton.title = "Change static mode"
|
||||
keybindButton.title = "Input a keybind"
|
||||
keybindButton.classList.add("controlButton")
|
||||
keybindButton.onclick = () => {
|
||||
runKeybind()
|
||||
|
|
@ -18,4 +26,8 @@
|
|||
keybindButton.textContent = "Keybind"
|
||||
document.getElementById("pauseButton").before(keybindButton)
|
||||
}
|
||||
})()
|
||||
|
||||
if (isMobile) {
|
||||
loadButton()
|
||||
}
|
||||
})()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
elements.blood.hidden = true;
|
||||
elements.blood.tick = function (pixel) {
|
||||
tryDelete(pixel.x, pixel.y);
|
||||
}
|
||||
elements.blood.onPlace = function (pixel) {
|
||||
tryDelete(pixel.x, pixel.y);
|
||||
}
|
||||
|
||||
elements.infection.hidden = true;
|
||||
elements.infection.tick = function (pixel) {
|
||||
tryDelete(pixel.x, pixel.y);
|
||||
}
|
||||
elements.infection.onPlace = function (pixel) {
|
||||
tryDelete(pixel.x, pixel.y);
|
||||
}
|
||||
|
||||
elements.antibody.hidden = true;
|
||||
elements.antibody.tick = function (pixel) {
|
||||
tryDelete(pixel.x, pixel.y);
|
||||
}
|
||||
elements.antibody.onPlace = function (pixel) {
|
||||
tryDelete(pixel.x, pixel.y);
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ const FOLLOWUP_COORDS_TO_CHECK = [
|
|||
];
|
||||
|
||||
// Pre-initialize the list of transparent elements
|
||||
let transparentElementsTmp = "glass,stained_glass,glass_shard,solid_diamond,ice,led_r,led_g,led_b".split(",");
|
||||
let transparentElementsTmp = "glass,stained_glass,glass_shard,solid_diamond,ice,led".split(",");
|
||||
let transparentElements = [];
|
||||
|
||||
// Function to create the list of transparent elements based on their properties
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
elements.led_r = {
|
||||
...elements.led,
|
||||
customColor: false,
|
||||
color: "rgb(255,0,0)",
|
||||
colorObject: {r:255, g:0, b:0}
|
||||
};
|
||||
|
||||
elements.led_g = {
|
||||
...elements.led,
|
||||
customColor: false,
|
||||
color: "rgb(0,255,0)",
|
||||
colorObject: {r:0, g:255, b:0}
|
||||
};
|
||||
|
||||
elements.led_b = {
|
||||
...elements.led,
|
||||
customColor: false,
|
||||
color: "rgb(0,0,255)",
|
||||
colorObject: {r:0, g:0, b:255}
|
||||
};
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
runAfterLoad(() => {
|
||||
let oldMouseSize;
|
||||
let canvas = document.getElementById("game");
|
||||
canvas.addEventListener("pointerdown", (event) => {
|
||||
oldMouseSize = mouseSize;
|
||||
mouseSize = oldMouseSize * ((event.pressure || 0.5) / 0.5);
|
||||
checkMouseSize(true);
|
||||
})
|
||||
canvas.addEventListener("pointermove", (event) => {
|
||||
if (!mouseIsDown) return;
|
||||
mouseSize = oldMouseSize * ((event.pressure || 0.5) / 0.5);
|
||||
checkMouseSize(true);
|
||||
// console.log(oldMouseSize,event.pressure)
|
||||
})
|
||||
canvas.addEventListener("pointerup", (event) => {
|
||||
mouseSize = oldMouseSize;
|
||||
oldMouseSize = undefined;
|
||||
checkMouseSize(true);
|
||||
})
|
||||
})
|
||||
|
|
@ -22,9 +22,12 @@ elems = {
|
|||
x: "wire",
|
||||
F: "fuse",
|
||||
v: "void",
|
||||
R: "led_r",
|
||||
G: "led_g",
|
||||
B: "led_b",
|
||||
R: "led",
|
||||
G: "led",
|
||||
B: "led",
|
||||
// R: "led_r",
|
||||
// G: "led_g",
|
||||
// B: "led_b",
|
||||
}
|
||||
|
||||
schematics = {
|
||||
|
|
|
|||
|
|
@ -110,35 +110,7 @@ elements.radiation.renderer = function(pixel,ctx) {
|
|||
drawSquare(ctx,pixel.color,x,y,1,0.25)
|
||||
}
|
||||
}
|
||||
elements.led_r.renderer = function(pixel,ctx) {
|
||||
var circlec = circleCoords(pixel.x, pixel.y, 3);
|
||||
for (var i = 0; i < circlec.length; i++){
|
||||
var coord = circlec[i];
|
||||
var x = coord.x;
|
||||
var y = coord.y;
|
||||
if (pixel.charge) {
|
||||
drawSquare(ctx,pixel.color,x,y,1,0.5)
|
||||
}
|
||||
else {
|
||||
drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
|
||||
}
|
||||
}
|
||||
}
|
||||
elements.led_g.renderer = function(pixel,ctx) {
|
||||
var circlec = circleCoords(pixel.x, pixel.y, 3);
|
||||
for (var i = 0; i < circlec.length; i++){
|
||||
var coord = circlec[i];
|
||||
var x = coord.x;
|
||||
var y = coord.y;
|
||||
if (pixel.charge) {
|
||||
drawSquare(ctx,pixel.color,x,y,1,0.5)
|
||||
}
|
||||
else {
|
||||
drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
|
||||
}
|
||||
}
|
||||
}
|
||||
elements.led_b.renderer = function(pixel,ctx) {
|
||||
elements.led.renderer = function(pixel,ctx) {
|
||||
var circlec = circleCoords(pixel.x, pixel.y, 3);
|
||||
for (var i = 0; i < circlec.length; i++){
|
||||
var coord = circlec[i];
|
||||
|
|
@ -152,3 +124,45 @@ elements.led_b.renderer = function(pixel,ctx) {
|
|||
}
|
||||
}
|
||||
}
|
||||
// elements.led_r.renderer = function(pixel,ctx) {
|
||||
// var circlec = circleCoords(pixel.x, pixel.y, 3);
|
||||
// for (var i = 0; i < circlec.length; i++){
|
||||
// var coord = circlec[i];
|
||||
// var x = coord.x;
|
||||
// var y = coord.y;
|
||||
// if (pixel.charge) {
|
||||
// drawSquare(ctx,pixel.color,x,y,1,0.5)
|
||||
// }
|
||||
// else {
|
||||
// drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// elements.led_g.renderer = function(pixel,ctx) {
|
||||
// var circlec = circleCoords(pixel.x, pixel.y, 3);
|
||||
// for (var i = 0; i < circlec.length; i++){
|
||||
// var coord = circlec[i];
|
||||
// var x = coord.x;
|
||||
// var y = coord.y;
|
||||
// if (pixel.charge) {
|
||||
// drawSquare(ctx,pixel.color,x,y,1,0.5)
|
||||
// }
|
||||
// else {
|
||||
// drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// elements.led_b.renderer = function(pixel,ctx) {
|
||||
// var circlec = circleCoords(pixel.x, pixel.y, 3);
|
||||
// for (var i = 0; i < circlec.length; i++){
|
||||
// var coord = circlec[i];
|
||||
// var x = coord.x;
|
||||
// var y = coord.y;
|
||||
// if (pixel.charge) {
|
||||
// drawSquare(ctx,pixel.color,x,y,1,0.5)
|
||||
// }
|
||||
// else {
|
||||
// drawSquare(ctx,pixel.color,pixel.x,pixel.y,1,1)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -67,9 +67,7 @@ elements.soul = {
|
|||
},
|
||||
reactions: {
|
||||
"light_bulb": { charged:true, elem2:"explosion" },
|
||||
"led_r": { charged:true, elem2:"explosion" },
|
||||
"led_g": { charged:true, elem2:"explosion" },
|
||||
"led_b": { charged:true, elem2:"explosion" },
|
||||
"led": { charged:true, elem2:"explosion" },
|
||||
"wire": { charge2:1, chance:0.05 },
|
||||
"body": { attr2:{"panic":20} },
|
||||
"proton": { elem1:null },
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ runAfterAutogen(function(){
|
|||
elements[element].hidden = true;
|
||||
elements[element].category = "inventory";
|
||||
}
|
||||
if (elements[element].onShiftSelect) delete elements[element].onShiftSelect;
|
||||
}
|
||||
for (var element in settings.survival) {
|
||||
if (!elements[element]) { continue; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,308 @@
|
|||
// made by me haha
|
||||
// didn't expect that, didn't you?
|
||||
console.log('oh no')
|
||||
|
||||
// My Testing Stuff
|
||||
elements.solid_element = {
|
||||
color: "#287cb8",
|
||||
behaviors: behaviors.WALL,
|
||||
category: "My Stuff",
|
||||
state: "solid",
|
||||
stateHigh: "ash",
|
||||
tempHigh: "2345",
|
||||
tempLow: "-234",
|
||||
stateLow: "ice",
|
||||
desc: "Test solid"
|
||||
}
|
||||
elements.liquid_element = {
|
||||
color: "#00eeff",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "My Stuff",
|
||||
state: "liquid",
|
||||
stateHigh: "steam",
|
||||
tempHigh: "2345",
|
||||
tempLow: "-234",
|
||||
stateLow: "ice",
|
||||
desc: "Test liquid"
|
||||
}
|
||||
|
||||
// i based this off of cell machine
|
||||
// movers
|
||||
elements.mover = {
|
||||
color: "#2f00ff",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|M1",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "Movers",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
desc: "Right mover"
|
||||
}
|
||||
|
||||
elements.reverse_mover = {
|
||||
color: "#2f00ff",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"M1|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "Movers",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
desc: "Left mover"
|
||||
}
|
||||
|
||||
elements.up_mover = {
|
||||
color: "#2f00ff",
|
||||
behavior: [
|
||||
"XX|M1|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "Movers",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
|
||||
elements.down_mover = {
|
||||
color: "#2f00ff",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
category: "Movers",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
|
||||
// converter
|
||||
elements.sand_converter = {
|
||||
color: "#000397",
|
||||
behavior: [
|
||||
"XX|XX|CH:sand",
|
||||
"XX|XX|M1",
|
||||
"XX|XX|CH:sand",
|
||||
],
|
||||
category: "Movers",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
// trashes
|
||||
elements.trash = {
|
||||
color: "#ff00ff",
|
||||
behavior: [
|
||||
"XX|DL|XX",
|
||||
"DL|XX|DL",
|
||||
"XX|DL|XX",
|
||||
],
|
||||
category: "Trashes",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
|
||||
// does enemies count as trashes?
|
||||
// eh , why not
|
||||
elements.enemy = {
|
||||
color: "#ff0000",
|
||||
behavior: [
|
||||
"XX|DB|XX",
|
||||
"DB|XX|DB",
|
||||
"XX|DB|XX",
|
||||
],
|
||||
category: "Trashes",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
|
||||
// generators
|
||||
elements.directional_generator = {
|
||||
color: "#00ff00",
|
||||
behavior: [
|
||||
"XX|CF|XX",
|
||||
"CF|XX|CF",
|
||||
"XX|CF|XX",
|
||||
],
|
||||
category: "Generators",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
|
||||
// nuke cell
|
||||
elements.nuke_cell = {
|
||||
color: "#ffff00",
|
||||
behavior: [
|
||||
"DL|CL|DL",
|
||||
"CL|XX|CL",
|
||||
"DL|CL|DL",
|
||||
],
|
||||
category: "Special Cells",
|
||||
state: "solid",
|
||||
stateHigh: "molten_metal",
|
||||
tempHigh: "2500",
|
||||
tempLow: "-2345",
|
||||
stateLow: "ice",
|
||||
}
|
||||
// some stuff
|
||||
elements.rad_shrimp = {
|
||||
color: ["#ff8484" , "#ff0000" , "#87ff62"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|LB:radiation|XX",
|
||||
"M1|M2|M1",
|
||||
],
|
||||
category: "food",
|
||||
state: "powder",
|
||||
stateHigh: "cooked_rad_shrimp",
|
||||
tempHigh: "250",
|
||||
tempLow: "-234",
|
||||
stateLow: "frozen_rad_shrimp",
|
||||
}
|
||||
elements.cooked_rad_shrimp = {
|
||||
color: ["#ff0000" , "#ffc278"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
stateHigh: "ash",
|
||||
tempHigh: "450",
|
||||
stateLow: "rad_shrimp",
|
||||
tempLow: "20",
|
||||
temp: 250,
|
||||
}
|
||||
elements.frozen_rad_shrimp = {
|
||||
color: ["#6193ff" , "#0044d6"],
|
||||
category: "food",
|
||||
stateHigh: "rad_shrimp",
|
||||
temp: "-234",
|
||||
temphigh: "20",
|
||||
stateLow: "frozen_rad_shrimp",
|
||||
temp: -234,
|
||||
}
|
||||
|
||||
// more sand
|
||||
// lol
|
||||
|
||||
// fresh sand
|
||||
elements.fresh_sand = {
|
||||
color: ["#f2e2a1" , "#d4b95b" , "#ffeb99"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
stateHigh: "molten_glass",
|
||||
tempHigh: "1450",
|
||||
stateLow: "clay",
|
||||
tempLow: "-234",
|
||||
desc : "Sand fresh from the beach(jk its just retextured sand)."
|
||||
}
|
||||
|
||||
// blue sand
|
||||
elements.blue_sand = {
|
||||
color: ["#a1c4f2" , "#5b9ed4" , "#99caff"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
stateHigh: "molten_glass",
|
||||
tempHigh: "1450",
|
||||
stateLow: "clay",
|
||||
tempLow: "-234",
|
||||
desc : "Blue sand from a cool island."
|
||||
}
|
||||
elements.wet_blue_sand = {
|
||||
color: ["#6a89b7" , "#3c5f86" , "#7199d0"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "states",
|
||||
tempHigh: "50",
|
||||
stateHigh: "blue_sand",
|
||||
desc: "so cool",
|
||||
}
|
||||
|
||||
// green sand
|
||||
elements.green_sand = {
|
||||
color: ["#a1f2b8" , "#5bd48e" , "#99ffd6"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
stateHigh: "molten_glass",
|
||||
tempHigh: "1450",
|
||||
stateLow: "clay",
|
||||
tempLow: "-234",
|
||||
desc : "Green sand from money island.",
|
||||
reactions: {
|
||||
"water": { elem1:null, elem2:"wet_green_sand"},
|
||||
},
|
||||
}
|
||||
elements.wet_green_sand = {
|
||||
color: ["#6a9a78" , "#3c865b" , "#71bfa0"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "states",
|
||||
tempHigh: "40",
|
||||
stateHigh: "green_sand",
|
||||
desc: "vro is not tuff",
|
||||
}
|
||||
// purple sand
|
||||
elements.purple_sand = {
|
||||
color: ["#dba1f2" , "#9e5bd4" , "#ff99ff"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
stateHigh: "molten_glass",
|
||||
tempHigh: "1450",
|
||||
stateLow: "clay",
|
||||
tempLow: "-234",
|
||||
desc : "Purple sand from a magical island.",
|
||||
reactions: {
|
||||
"sawdust": { elem1:null, elem2:"confetti"},
|
||||
"water": { elem1:null, elem2:"wet_purple_sand"}
|
||||
},
|
||||
}
|
||||
elements.wet_purple_sand = {
|
||||
color: ["#845796" , "#5b2d80" , "#b069b0"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "states",
|
||||
tempHigh: "60",
|
||||
stateHigh: "purple_sand",
|
||||
desc: "ts so tuff",
|
||||
}
|
||||
// emeralds
|
||||
elements.emerald = {
|
||||
color: ["#50c878" , "#2e8b57" , "#a8e4a0"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
stateHigh: "molten_emerald",
|
||||
tempHigh: "2100",
|
||||
stateLow: "diamond",
|
||||
tempLow: "-234",
|
||||
desc : "A precious green gem."
|
||||
}
|
||||
elements.molten_emerald = {
|
||||
color: "#7fffd4",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
stateLow: "emerald",
|
||||
tempLow: "-2100",
|
||||
temp: 2100,
|
||||
desc : "Molten emerald."
|
||||
}
|
||||
529
mods/zoom.js
529
mods/zoom.js
|
|
@ -1,289 +1,322 @@
|
|||
// IIFE because paranoid
|
||||
(() => {
|
||||
const zoom_levels = [
|
||||
0.5,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
6,
|
||||
12
|
||||
const zoom_levels = [
|
||||
0.5,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
6,
|
||||
12
|
||||
]
|
||||
window.zoom_data_div = null
|
||||
window.zoom_level = 1
|
||||
window.zoom_panning = [0,0]
|
||||
|
||||
let colour_setting;
|
||||
|
||||
dependOn("betterSettings.js", () => {
|
||||
const settings_tab = new SettingsTab("zoom.js");
|
||||
colour_setting = new Setting(
|
||||
"Canvas background",
|
||||
"canvas_bkg",
|
||||
settingType.COLOR,
|
||||
false,
|
||||
defaultValue="#252525"
|
||||
);
|
||||
|
||||
settings_tab.registerSettings(undefined, colour_setting)
|
||||
settingsManager.registerTab(settings_tab)
|
||||
})
|
||||
|
||||
function handle_zoom(direction){
|
||||
switch (direction){
|
||||
case "in":
|
||||
if (!(zoom_level+1 in zoom_levels)) { break; }
|
||||
window.zoom_level += 1
|
||||
break;
|
||||
case "out":
|
||||
if (!(zoom_level-1 in zoom_levels)) { break; }
|
||||
window.zoom_level -= 1
|
||||
break;
|
||||
}
|
||||
rescale()
|
||||
}
|
||||
|
||||
function handle_pan(direction, speed){
|
||||
switch (direction){
|
||||
case "right":
|
||||
zoom_panning[0] -= speed
|
||||
break;
|
||||
case "left":
|
||||
zoom_panning[0] += speed
|
||||
break;
|
||||
case "up":
|
||||
zoom_panning[1] += speed
|
||||
break;
|
||||
case "down":
|
||||
zoom_panning[1] -= speed
|
||||
break;
|
||||
}
|
||||
rescale()
|
||||
}
|
||||
|
||||
function gen_button(row, col, html, click, nopos, id){
|
||||
const elem = document.createElement("button")
|
||||
|
||||
|
||||
if (!nopos){
|
||||
elem.style.gridColumn = row
|
||||
elem.style.gridRow = col
|
||||
}
|
||||
if (id) { elem.id = id }
|
||||
|
||||
// Table for the data-pos to assign (row major). If null, don't add.
|
||||
const data_pos_map = [
|
||||
["tl", null, "tr"],
|
||||
[null, null, null],
|
||||
["bl", null, "br"]
|
||||
]
|
||||
window.zoom_data_div = null
|
||||
|
||||
window.zoom_level = 1
|
||||
window.zoom_panning = [0,0]
|
||||
elem.innerHTML = html
|
||||
elem.onclick = click
|
||||
|
||||
function handle_zoom(direction){
|
||||
switch (direction){
|
||||
case "in":
|
||||
if (!(zoom_level+1 in zoom_levels)) { break; }
|
||||
window.zoom_level += 1
|
||||
break;
|
||||
case "out":
|
||||
if (!(zoom_level-1 in zoom_levels)) { break; }
|
||||
window.zoom_level -= 1
|
||||
break;
|
||||
}
|
||||
rescale()
|
||||
if (data_pos_map[row-1][col-1] !== null) {
|
||||
elem.dataset.pos = data_pos_map[row-1][col-1]
|
||||
}
|
||||
|
||||
function handle_pan(direction, speed){
|
||||
switch (direction){
|
||||
case "right":
|
||||
zoom_panning[0] -= speed
|
||||
break;
|
||||
case "left":
|
||||
zoom_panning[0] += speed
|
||||
break;
|
||||
case "up":
|
||||
zoom_panning[1] += speed
|
||||
break;
|
||||
case "down":
|
||||
zoom_panning[1] -= speed
|
||||
break;
|
||||
}
|
||||
rescale()
|
||||
return elem
|
||||
}
|
||||
|
||||
function add_css(){
|
||||
const CSS = `
|
||||
#zm_data_div { margin-bottom: 10px }
|
||||
#canvasDiv { overflow: hidden; background-color: var(--opac-85) }
|
||||
|
||||
@media(pointer=coarse){
|
||||
#zm_floater_container#zm_floater_container {
|
||||
width: 40%;
|
||||
height: auto;
|
||||
}
|
||||
#zm_floater_container:has(#zm_collapse[data-collapsed="true"]){
|
||||
width: calc(40% / 3);
|
||||
}
|
||||
}
|
||||
|
||||
function gen_button(row, col, html, click, nopos, id){
|
||||
const elem = document.createElement("button")
|
||||
|
||||
|
||||
if (!nopos){
|
||||
elem.style.gridColumn = row
|
||||
elem.style.gridRow = col
|
||||
@media(pointer:coarse) and (orientation:landscape){
|
||||
#zm_floater_container#zm_floater_container {
|
||||
width: auto;
|
||||
top: 5px;
|
||||
}
|
||||
if (id) { elem.id = id }
|
||||
|
||||
// Table for the data-pos to assign (row major). If null, don't add.
|
||||
const data_pos_map = [
|
||||
["tl", null, "tr"],
|
||||
[null, null, null],
|
||||
["bl", null, "br"]
|
||||
]
|
||||
|
||||
elem.innerHTML = html
|
||||
elem.onclick = click
|
||||
|
||||
if (data_pos_map[row-1][col-1] !== null) {
|
||||
elem.dataset.pos = data_pos_map[row-1][col-1]
|
||||
#zm_floater_container:has(#zm_collapse[data-collapsed="true"]){
|
||||
width: calc(40% / 3);
|
||||
}
|
||||
|
||||
return elem
|
||||
}
|
||||
|
||||
function add_css(){
|
||||
const FLOATER_CSS = `
|
||||
#zm_data_div {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#canvasDiv {
|
||||
overflow: hidden
|
||||
}
|
||||
#colorSelector { z-index: 1; right: 5px }
|
||||
#zm_floater_container {
|
||||
position: absolute;
|
||||
display: grid;
|
||||
|
||||
#zm_floater_container {
|
||||
position: absolute;
|
||||
display: grid;
|
||||
right: 5px;
|
||||
bottom: 5px;
|
||||
height: 100px;
|
||||
aspect-ratio: 1;
|
||||
|
||||
right: 5px;
|
||||
bottom: 5px;
|
||||
height: 24%;
|
||||
aspect-ratio: 1;
|
||||
max-width: 200px;
|
||||
max-height: 200px;
|
||||
|
||||
border: 2px solid white;
|
||||
background-color: black;
|
||||
font-size: 1.2em;
|
||||
border: 2px solid white;
|
||||
background-color: black;
|
||||
font-size: 120%;
|
||||
|
||||
button { text-align: center; border: 0px solid white }
|
||||
button { text-align: center; border: 0px solid white }
|
||||
|
||||
button:where([data-pos="tl"]) { border-width: 0px 2px 2px 0px };
|
||||
button:where([data-pos="tr"]) { border-width: 2px 2px 0px 0px };
|
||||
button:where([data-pos="bl"]) { border-width: 0px 0px 2px 2px };
|
||||
button:where([data-pos="br"]) { border-width: 2px 0px 0px 2px };
|
||||
}
|
||||
#zm_floater_container:has(#zm_collapse[data-collapsed="true"]) {
|
||||
height: calc(8% - 1px);
|
||||
|
||||
button:not(#zm_collapse) {
|
||||
display: none
|
||||
}
|
||||
}
|
||||
button:where([data-pos="tl"]) { border-width: 0px 2px 2px 0px };
|
||||
button:where([data-pos="tr"]) { border-width: 2px 2px 0px 0px };
|
||||
button:where([data-pos="bl"]) { border-width: 0px 0px 2px 2px };
|
||||
button:where([data-pos="br"]) { border-width: 2px 0px 0px 2px };
|
||||
}
|
||||
#zm_floater_container:has(#zm_collapse[data-collapsed="true"]) {
|
||||
height: 50px;
|
||||
|
||||
.zm_corner {
|
||||
border: 2px solid white;
|
||||
button:not(#zm_collapse) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#zm_collapse {
|
||||
grid-row: 3;
|
||||
grid-column: 3;
|
||||
}
|
||||
#zm_collapse[data-collapsed="true"] {
|
||||
grid-row: 1;
|
||||
grid-column: 1;
|
||||
border-width: 0px;
|
||||
}
|
||||
`
|
||||
|
||||
const style_div = document.createElement("style")
|
||||
style_div.innerHTML = FLOATER_CSS
|
||||
|
||||
document.head.appendChild(style_div)
|
||||
}
|
||||
#canvasDiv:has(#colorSelector[style *= "block"]) #zm_floater_container {
|
||||
bottom: 50px;
|
||||
}
|
||||
|
||||
.zm_corner { border: 2px solid white; }
|
||||
|
||||
function add_zoom_floaters(){
|
||||
const container = document.createElement("div")
|
||||
container.id = "zm_floater_container"
|
||||
#zm_collapse {
|
||||
grid-row: 3;
|
||||
grid-column: 3;
|
||||
}
|
||||
#zm_collapse[data-collapsed="true"] {
|
||||
grid-row: 1;
|
||||
grid-column: 1;
|
||||
border-width: 0px;
|
||||
}
|
||||
`
|
||||
|
||||
// Pan mode selector (C: Coarse F: Fine)
|
||||
const pan_mode_sel = gen_button(
|
||||
1,3, "C",
|
||||
const style_div = document.createElement("style")
|
||||
style_div.innerHTML = CSS
|
||||
|
||||
document.head.appendChild(style_div)
|
||||
}
|
||||
|
||||
function add_zoom_floaters(){
|
||||
const container = document.createElement("div")
|
||||
container.id = "zm_floater_container"
|
||||
|
||||
// Pan mode selector (C: Coarse F: Fine)
|
||||
const pan_mode_sel = gen_button(
|
||||
1,3, "C",
|
||||
(evt) => {
|
||||
evt.target.dataset.mode = evt.target.dataset.mode == "F" ? "C" : "F"
|
||||
evt.target.innerText = evt.target.dataset.mode
|
||||
},
|
||||
false,
|
||||
"zm_panmode_sel"
|
||||
)
|
||||
|
||||
const speed = () =>
|
||||
(window.zoom_level > 3 ? 5 : 10) * // More granular at higher zoom levels
|
||||
(pan_mode_sel.dataset.mode == "F" ? 0.25 : 1) // Increase granularity in fine mode
|
||||
|
||||
container.append(
|
||||
// Direction buttons
|
||||
gen_button(2,1, "↑", () => handle_pan("up" ,speed())),
|
||||
gen_button(1,2, "←", () => handle_pan("left" ,speed())),
|
||||
gen_button(3,2, "→", () => handle_pan("right" ,speed())),
|
||||
gen_button(2,3, "↓", () => handle_pan("down" ,speed())),
|
||||
|
||||
// Zoom buttons
|
||||
gen_button(1,1, "+", () => handle_zoom("in")),
|
||||
gen_button(3,1, "-", () => handle_zoom("out")),
|
||||
|
||||
// Collapse button
|
||||
gen_button(
|
||||
3,3, "#",
|
||||
(evt) => {
|
||||
evt.target.dataset.mode = evt.target.dataset.mode == "F" ? "C" : "F"
|
||||
evt.target.innerText = evt.target.dataset.mode
|
||||
},
|
||||
false,
|
||||
"zm_panmode_sel"
|
||||
)
|
||||
evt.target.dataset.collapsed = evt.target.dataset.collapsed == "true"
|
||||
? "false"
|
||||
: "true"
|
||||
},
|
||||
true,
|
||||
"zm_collapse"
|
||||
),
|
||||
pan_mode_sel
|
||||
)
|
||||
|
||||
const speed = () =>
|
||||
(window.zoom_level > 3 ? 5 : 10) * // More granular at higher zoom levels
|
||||
(pan_mode_sel.dataset.mode == "F" ? 0.25 : 1) // Increase granularity in fine mode
|
||||
const canvas_div = document.getElementById("canvasDiv")
|
||||
canvas_div.style.backgroundColor = colour_setting?.value ?? "#252525"
|
||||
canvas_div.appendChild(container)
|
||||
}
|
||||
|
||||
container.append(
|
||||
// Direction buttons
|
||||
gen_button(2,1, "↑", () => handle_pan("up" ,speed())),
|
||||
gen_button(1,2, "←", () => handle_pan("left" ,speed())),
|
||||
gen_button(3,2, "→", () => handle_pan("right" ,speed())),
|
||||
gen_button(2,3, "↓", () => handle_pan("down" ,speed())),
|
||||
function rescale(){
|
||||
log_info()
|
||||
|
||||
// Zoom buttons
|
||||
gen_button(1,1, "+", () => handle_zoom("in")),
|
||||
gen_button(3,1, "-", () => handle_zoom("out")),
|
||||
const scale = zoom_levels[zoom_level]
|
||||
const x = zoom_panning[0] * (pixelSize * scale)
|
||||
const y = zoom_panning[1] * (pixelSize * scale)
|
||||
|
||||
// Collapse button
|
||||
gen_button(
|
||||
3,3, "#",
|
||||
(evt) => {
|
||||
evt.target.dataset.collapsed = evt.target.dataset.collapsed == "true"
|
||||
? "false"
|
||||
: "true"
|
||||
},
|
||||
true,
|
||||
"zm_collapse"
|
||||
),
|
||||
pan_mode_sel
|
||||
)
|
||||
gameCanvas.style.transform = `translate(${x}px, ${y}px) translateX(-50%) scale(${scale})`
|
||||
}
|
||||
|
||||
const canvas_div = document.getElementById("canvasDiv")
|
||||
canvas_div.appendChild(container)
|
||||
}
|
||||
function log_info(){
|
||||
// Values are negated to make them more intuitive
|
||||
const x_pan = (-zoom_panning[0]).toString().padEnd(4)
|
||||
const y_pan = (-zoom_panning[1]).toString().padEnd(4)
|
||||
|
||||
function rescale(){
|
||||
log_info()
|
||||
if (zoom_data_div === null){ return; }
|
||||
|
||||
const scale = zoom_levels[zoom_level]
|
||||
const x = zoom_panning[0] * (pixelSize * scale)
|
||||
const y = zoom_panning[1] * (pixelSize * scale)
|
||||
zoom_data_div.innerText = ""
|
||||
zoom_data_div.innerText += `Scale: ${zoom_levels[zoom_level]}x\n`
|
||||
zoom_data_div.innerText += `Pan : ${x_pan}, ${y_pan}`
|
||||
}
|
||||
|
||||
gameCanvas.style.transform = `translate(${x}px,${y}px) scale(${scale})`
|
||||
}
|
||||
function patch_keybinds(){
|
||||
// Be more granular at higher zoom levels
|
||||
const speed_a = () => zoom_level > 3 ? 5 : 10
|
||||
const speed_b = () => zoom_level > 3 ? 10 : 20
|
||||
|
||||
function log_info(){
|
||||
// Values are negated to make them more intuitive
|
||||
const x_pan = (-zoom_panning[0]).toString().padEnd(4)
|
||||
const y_pan = (-zoom_panning[1]).toString().padEnd(4)
|
||||
keybinds["9"] = () => handle_zoom("in")
|
||||
keybinds["0"] = () => handle_zoom("out")
|
||||
|
||||
if (zoom_data_div === null){ return; }
|
||||
keybinds["w"] = () => handle_pan("up", speed_a())
|
||||
keybinds["a"] = () => handle_pan("left", speed_a())
|
||||
keybinds["s"] = () => handle_pan("down", speed_a())
|
||||
keybinds["d"] = () => handle_pan("right", speed_a())
|
||||
|
||||
zoom_data_div.innerText = ""
|
||||
zoom_data_div.innerText += `Scale: ${zoom_levels[zoom_level]}x\n`
|
||||
zoom_data_div.innerText += `Pan : ${x_pan}, ${y_pan}`
|
||||
}
|
||||
keybinds["W"] = () => handle_pan("up", speed_b())
|
||||
keybinds["A"] = () => handle_pan("left", speed_b())
|
||||
keybinds["S"] = () => handle_pan("down", speed_b())
|
||||
keybinds["D"] = () => handle_pan("right", speed_b())
|
||||
}
|
||||
|
||||
function patch_keybinds(){
|
||||
// Be more granular at higher zoom levels
|
||||
const speed_a = () => zoom_level > 3 ? 5 : 10
|
||||
const speed_b = () => zoom_level > 3 ? 10 : 20
|
||||
function patch_ui(){
|
||||
add_css()
|
||||
add_zoom_floaters()
|
||||
|
||||
zoom_data_div = document.createElement("div")
|
||||
zoom_data_div.id = "zm_data_div"
|
||||
document.getElementById("logDiv").prepend(zoom_data_div)
|
||||
|
||||
keybinds["9"] = () => handle_zoom("in")
|
||||
keybinds["0"] = () => handle_zoom("out")
|
||||
|
||||
keybinds["w"] = () => handle_pan("up", speed_a())
|
||||
keybinds["a"] = () => handle_pan("left", speed_a())
|
||||
keybinds["s"] = () => handle_pan("down", speed_a())
|
||||
keybinds["d"] = () => handle_pan("right", speed_a())
|
||||
|
||||
keybinds["W"] = () => handle_pan("up", speed_b())
|
||||
keybinds["A"] = () => handle_pan("left", speed_b())
|
||||
keybinds["S"] = () => handle_pan("down", speed_b())
|
||||
keybinds["D"] = () => handle_pan("right", speed_b())
|
||||
const controls_table = document.getElementById("controlsTable").lastElementChild
|
||||
controls_table.insertAdjacentHTML("beforeBegin",`
|
||||
<tr>
|
||||
<td>Zoom in/out</td>
|
||||
<td>
|
||||
<kbd>9</kbd>/
|
||||
<kbd>0</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Pan</td>
|
||||
<td>
|
||||
<kbd>W</kbd>
|
||||
<kbd>A</kbd>
|
||||
<kbd>S</kbd>
|
||||
<kbd>D</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Pan (fast)</td>
|
||||
<td>
|
||||
<kbd>Shift</kbd> +
|
||||
<kbd>W</kbd>
|
||||
<kbd>A</kbd>
|
||||
<kbd>S</kbd>
|
||||
<kbd>D</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
`)
|
||||
}
|
||||
|
||||
// Redefine to give correct numbers when zoomed
|
||||
window.getMousePos = (canvas, evt) => {
|
||||
if (evt.touches) {
|
||||
evt.preventDefault();
|
||||
evt = evt.touches[0];
|
||||
isMobile = true;
|
||||
}
|
||||
const rect = canvas.getBoundingClientRect();
|
||||
|
||||
function patch_ui(){
|
||||
add_css()
|
||||
add_zoom_floaters()
|
||||
let x = (evt.clientX - rect.left) / zoom_levels[zoom_level];
|
||||
let y = (evt.clientY - rect.top) / zoom_levels[zoom_level];
|
||||
|
||||
zoom_data_div = document.createElement("div")
|
||||
zoom_data_div.id = "zm_data_div"
|
||||
document.getElementById("logDiv").prepend(zoom_data_div)
|
||||
|
||||
const controls_table = document.getElementById("controlsTable").lastElementChild
|
||||
controls_table.insertAdjacentHTML("beforeBegin",`
|
||||
<tr>
|
||||
<td>Zoom in/out</td>
|
||||
<td>
|
||||
<kbd>9</kbd>/
|
||||
<kbd>0</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Pan</td>
|
||||
<td>
|
||||
<kbd>W</kbd>
|
||||
<kbd>A</kbd>
|
||||
<kbd>S</kbd>
|
||||
<kbd>D</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Pan (fast)</td>
|
||||
<td>
|
||||
<kbd>Shift</kbd> +
|
||||
<kbd>W</kbd>
|
||||
<kbd>A</kbd>
|
||||
<kbd>S</kbd>
|
||||
<kbd>D</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
`)
|
||||
}
|
||||
x = Math.floor((x / canvas.clientWidth) * (width+1));
|
||||
y = Math.floor((y / canvas.clientHeight) * (height+1));
|
||||
|
||||
// Redefine to give correct numbers when zoomed
|
||||
window.getMousePos = (canvas, evt) => {
|
||||
if (evt.touches) {
|
||||
evt.preventDefault();
|
||||
evt = evt.touches[0];
|
||||
isMobile = true;
|
||||
}
|
||||
const rect = canvas.getBoundingClientRect();
|
||||
return {x:x, y:y};
|
||||
}
|
||||
|
||||
let x = (evt.clientX - rect.left) / zoom_levels[zoom_level];
|
||||
let y = (evt.clientY - rect.top) / zoom_levels[zoom_level];
|
||||
runAfterReset(() => {
|
||||
window.zoom_level = 1
|
||||
rescale()
|
||||
})
|
||||
|
||||
x = Math.floor((x / canvas.clientWidth) * (width+1));
|
||||
y = Math.floor((y / canvas.clientHeight) * (height+1));
|
||||
|
||||
return {x:x, y:y};
|
||||
}
|
||||
|
||||
runAfterReset(() => {
|
||||
window.zoom_level = 1
|
||||
rescale()
|
||||
})
|
||||
|
||||
runAfterLoad(() => {
|
||||
patch_keybinds()
|
||||
patch_ui()
|
||||
})
|
||||
})()
|
||||
runAfterLoad(() => {
|
||||
patch_keybinds()
|
||||
patch_ui()
|
||||
})
|
||||
|
|
|
|||
134
style.css
134
style.css
|
|
@ -84,6 +84,10 @@ a:hover { text-decoration: underline; }
|
|||
#game {
|
||||
image-rendering: pixelated;
|
||||
max-width: 100vw;
|
||||
max-height: 100vh;
|
||||
transform: translateX(-50%);
|
||||
left: 50%;
|
||||
position: relative;
|
||||
}
|
||||
#bottomInfoBox { /* place under the game canvas */
|
||||
margin: 1.5em 50px 0px 50px;
|
||||
|
|
@ -233,6 +237,13 @@ kbd:active {filter: brightness(70%);}
|
|||
.XButton:hover {
|
||||
background-color: rgb(200, 33, 33);
|
||||
}
|
||||
#promptMenuText {
|
||||
-webkit-user-select: text; /* Safari */
|
||||
-khtml-user-select: unset; /* Konqueror HTML */
|
||||
-moz-user-select: unset; /* Old versions of Firefox */
|
||||
-ms-user-select: unset; /* Internet Explorer/Edge */
|
||||
user-select: text;
|
||||
}
|
||||
/*#modManagerAdd {
|
||||
position: absolute;
|
||||
bottom: 25%;
|
||||
|
|
@ -411,7 +422,7 @@ button, input[type="submit"], input[type="reset"] {
|
|||
text-shadow: 0.5px 1px 4px #000000;
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
border: 2px solid var(--theme-opac85);
|
||||
margin: 0px 4px 4px 4px;
|
||||
margin: 0px 2px 4px 2px;
|
||||
font-variant: small-caps;
|
||||
z-index: 15;
|
||||
}
|
||||
|
|
@ -451,12 +462,15 @@ input[type="button"]:active, input[type="button"]:active:hover {
|
|||
border-color:#5ee05e!important;
|
||||
box-shadow: 0px 1px 15px rgba(0, 255, 0, .75);
|
||||
}
|
||||
#controls .elementButton[modified="true"] {
|
||||
border-color:#0d62ff!important;
|
||||
}
|
||||
#controls button.bright[current="true"] {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
}
|
||||
#controls button[on="true"] {
|
||||
border-color:lime;
|
||||
color:lime;
|
||||
border-color:#5ee05e;
|
||||
color:#5ee05e;
|
||||
}
|
||||
#controls div {
|
||||
display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
|
||||
|
|
@ -784,7 +798,8 @@ button, input { /*Disable double tap zoom on mobile devices*/
|
|||
}
|
||||
#canvasDiv {
|
||||
position:relative;
|
||||
overflow-x:hidden
|
||||
overflow-x:hidden;
|
||||
background-color: var(--theme-opac75);
|
||||
}
|
||||
#colorSelector {
|
||||
position:absolute;
|
||||
|
|
@ -953,4 +968,115 @@ a.texticon:hover, a.texticon:active, a.texticon:hover:active {
|
|||
overflow-x: unset;
|
||||
opacity: unset;
|
||||
padding-right: 1em;
|
||||
}
|
||||
img {
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
|
||||
.pixel-corners,
|
||||
.pixel-corners--wrapper {
|
||||
|
||||
}
|
||||
.pixel-corners {
|
||||
}
|
||||
.pixel-corners--wrapper {
|
||||
}
|
||||
.pixel-corners--wrapper .pixel-corners {
|
||||
}
|
||||
.pixel-corners::after,
|
||||
.pixel-corners--wrapper::after {
|
||||
}
|
||||
.pixel-corners::after {
|
||||
}
|
||||
|
||||
.controlButton, .elementButton, .pixel-corners {
|
||||
clip-path: polygon(0px calc(100% - 4px),
|
||||
2px calc(100% - 4px),
|
||||
2px calc(100% - 2px),
|
||||
4px calc(100% - 2px),
|
||||
4px 100%,
|
||||
calc(100% - 4px) 100%,
|
||||
calc(100% - 4px) calc(100% - 2px),
|
||||
calc(100% - 2px) calc(100% - 2px),
|
||||
calc(100% - 2px) calc(100% - 4px),
|
||||
100% calc(100% - 4px),
|
||||
100% 4px,
|
||||
calc(100% - 2px) 4px,
|
||||
calc(100% - 2px) 2px,
|
||||
calc(100% - 4px) 2px,
|
||||
calc(100% - 4px) 0px,
|
||||
4px 0px,
|
||||
4px 2px,
|
||||
2px 2px,
|
||||
2px 4px,
|
||||
0px 4px);
|
||||
position: relative;
|
||||
border: 2.5px solid transparent!important;
|
||||
}
|
||||
.controlButton::after, .elementButton::after, .pixel-corners::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
clip-path: polygon(0px calc(100% - 4px),
|
||||
2px calc(100% - 4px),
|
||||
2px calc(100% - 2px),
|
||||
4px calc(100% - 2px),
|
||||
4px 100%,
|
||||
calc(100% - 4px) 100%,
|
||||
calc(100% - 4px) calc(100% - 2px),
|
||||
calc(100% - 2px) calc(100% - 2px),
|
||||
calc(100% - 2px) calc(100% - 4px),
|
||||
100% calc(100% - 4px),
|
||||
100% 4px,
|
||||
calc(100% - 2px) 4px,
|
||||
calc(100% - 2px) 2px,
|
||||
calc(100% - 4px) 2px,
|
||||
calc(100% - 4px) 0px,
|
||||
4px 0px,
|
||||
4px 2px,
|
||||
2px 2px,
|
||||
2px 4px,
|
||||
0px 4px,
|
||||
0px 50%,
|
||||
4px 50%,
|
||||
4px 6px,
|
||||
6px 6px,
|
||||
6px 4px,
|
||||
calc(100% - 6px) 4px,
|
||||
calc(100% - 6px) 6px,
|
||||
calc(100% - 4px) 6px,
|
||||
calc(100% - 4px) calc(100% - 6px),
|
||||
calc(100% - 6px) calc(100% - 6px),
|
||||
calc(100% - 6px) calc(100% - 4px),
|
||||
6px calc(100% - 4px),
|
||||
6px calc(100% - 6px),
|
||||
4px calc(100% - 6px),
|
||||
4px 50%,
|
||||
0px 50%);
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: block;
|
||||
pointer-events: none;
|
||||
margin: -4px;
|
||||
|
||||
background: rgba(255,255,255,0.5);
|
||||
/* background-image: linear-gradient(to right bottom, rgba(255,255,255,0.5), rgba(255,255,255,0.33)) */
|
||||
}
|
||||
.elementButton::after {
|
||||
background: var(--button-border);
|
||||
}
|
||||
.elementButton.bright::after {
|
||||
/* background: rgba(0,0,0,0.5); */
|
||||
/* background-image: linear-gradient(to right bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.33)) */
|
||||
}
|
||||
#controls button[on="true"]::after {
|
||||
background: #5ee05e
|
||||
}
|
||||
#controls .elementButton[current="true"]::after {
|
||||
background: #5ee05e;
|
||||
}
|
||||
#controls .elementButton[modified="true"]::after {
|
||||
background: #0d62ff;
|
||||
}
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
</head>
|
||||
<body>Verification: fc020778bf434546</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue