1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-17 04:01:51 +00:00
Commit Graph

2217 Commits

Author SHA1 Message Date
Sense101
0533571d04 Refactor acceptors and processor with cleaner and more intuitive code - also fix speed bugs with most buildings 2022-02-01 16:23:13 +00:00
tobspr
3ad502c5a7 Fix belt path optimization 2022-02-01 17:04:43 +01:00
tobspr
c41aaa1fc5
Mod Support - 1.5.0 Update (#1361)
* initial modloader draft

* modloader features

* Refactor mods to use signals

* Add support for modifying and registering new transltions

* Minor adjustments

* Support for string building ids for mods

* Initial support for adding new buildings

* Refactor how mods are loaded to resolve circular dependencies and prepare for future mod loading

* Lazy Load mods to make sure all dependencies are loaded

* Expose all exported members automatically to mods

* Fix duplicate exports

* Allow loading mods from standalone

* update changelog

* Fix mods folder incorrect path

* Fix modloading in standalone

* Fix sprites not getting replaced, update demo mod

* Load dev mod via raw loader

* Improve mod developing so mods are directly ready to be deployed, load mods from local file server

* Proper mods ui

* Allow mods to register game systems and draw stuff

* Change mods path

* Fix sprites not loading

* Minor adjustments, closes #1333

* Add support for loading atlases via mods

* Add support for loading mods from external sources in DEV

* Add confirmation when loading mods

* Fix circular dependency

* Minor Keybindings refactor, add support for keybindings to mods, add support for dialogs to mods

* Add some mod signals

* refactor game loading states

* Make shapez exports global

* Start to make mods safer

* Refactor file system electron event handling

* Properly isolate electron renderer process

* Update to latest electron

* Show errors when loading mods

* Update confirm dialgo

* Minor restructure, start to add mod examples

* Allow adding custom themesw

* Add more examples and allow defining custom item processor operations

* Add interface to register new buildings

* Fixed typescript type errors (#1335)

* Refactor building registry, make it easier for mods to add new buildings

* Allow overriding existing methods

* Add more examples and more features

* More mod examples

* Make mod loading simpler

* Add example how to add custom drawings

* Remove unused code

* Minor modloader adjustments

* Support for rotation variants in mods (was broken previously)

* Allow mods to replace builtin sub shapes

* Add helper methods to extend classes

* Fix menu bar on mac os

* Remember window state

* Add support for paste signals

* Add example how to add custom components and systems

* Support for mod settings

* Add example for adding a new item type

* Update class extensions

* Minor adjustments

* Fix typo

* Add notification blocks mod example

* Add small tutorial

* Update readme

* Add better instructions

* Update JSDoc for Replacing Methods (#1336)

* upgraded types for overriding methods

* updated comments

Co-authored-by: Edward Badel <you@example.com>

* Direction lock now indicates when there is a building inbetween

* Fix mod examples

* Fix linter error

* Game state register (#1341)

* Added a gamestate register helper

Added a gamestate register helper

* Update mod_interface.js

* export build options

* Fix runBeforeMethod and runAfterMethod

* Minor game system code cleanup

* Belt path drawing optimization

* Fix belt path optimization

* Belt drawing improvements, again

* Do not render belts in statics disabled view

* Allow external URL to load more than one mod (#1337)

* Allow external URL to load more than one mod

Instead of loading the text returned from the remote server, load a JSON object with a `mods` field, containing strings of all the mods. This lets us work on more than one mod at a time or without separate repos. This will break tooling such as `create-shapezio-mod` though.

* Update modloader.js

* Prettier fixes

* Added link to create-shapezio-mod npm page (#1339)

Added link to create-shapezio-mod npm page: https://www.npmjs.com/package/create-shapezio-mod

* allow command line switch to load more than one mod (#1342)

* Fixed class handle type (#1345)

* Fixed class handle type

* Fixed import game state

* Minor adjustments

* Refactor item acceptor to allow only single direction slots

* Allow specifying minimumGameVersion

* Add sandbox example

* Replaced concatenated strings with template literals (#1347)

* Mod improvements

* Make wired pins component optional on the storage

* Fix mod examples

* Bind `this` for method overriding JSDoc (#1352)

* fix entity debugger reaching HTML elements (#1353)

* Store mods in savegame and show warning when it differs

* Closes #1357

* Fix All Shapez Exports Being Const (#1358)

* Allowed setting of variables inside webpack modules

* remove console log

* Fix stringification of things inside of eval

Co-authored-by: Edward Badel <you@example.com>

* Fix building placer intersection warning

* Add example for storing data in the savegame

* Fix double painter bug (#1349)

* Add example on how to extend builtin buildings

* update readme

* Disable steam achievements when playing with mods

* Update translations

Co-authored-by: Thomas (DJ1TJOO) <44841260+DJ1TJOO@users.noreply.github.com>
Co-authored-by: Bagel03 <70449196+Bagel03@users.noreply.github.com>
Co-authored-by: Edward Badel <you@example.com>
Co-authored-by: Emerald Block <69981203+EmeraldBlock@users.noreply.github.com>
Co-authored-by: saile515 <63782477+saile515@users.noreply.github.com>
Co-authored-by: Sense101 <67970865+Sense101@users.noreply.github.com>
2022-02-01 16:35:49 +01:00
Sense101
ce35a6cf35 fix weird merged code in processor 2022-02-01 14:40:55 +00:00
Sense101
745dcb3453
Merge branch 'modloader' into processing-refactor 2022-02-01 13:59:28 +00:00
Sense101
d44191092a
Fix double painter bug (#1349) 2022-02-01 14:50:07 +01:00
tobspr
bf7e1887a8 Add example for storing data in the savegame 2022-02-01 14:37:53 +01:00
tobspr
20dca5bcc1 Fix building placer intersection warning 2022-02-01 14:21:46 +01:00
Bagel03
321971dadd
Fix All Shapez Exports Being Const (#1358)
* Allowed setting of variables inside webpack modules

* remove console log

* Fix stringification of things inside of eval

Co-authored-by: Edward Badel <you@example.com>
2022-02-01 14:05:58 +01:00
tobspr
7dbed9fc43 Closes #1357 2022-02-01 14:02:27 +01:00
tobspr
b11ac4977f Merge branch 'modloader' of github.com:tobspr/shapez.io into modloader 2022-02-01 14:00:02 +01:00
tobspr
41841651db Store mods in savegame and show warning when it differs 2022-02-01 13:59:59 +01:00
Sense101
b5eb759b69 Fix filter and item acceptor drawing 2022-01-26 15:10:05 +00:00
Sense101
212c880e75 Actually fix filter and tunnel 2022-01-25 20:20:00 +00:00
Sense101
cb4ccdbb79 Prevent filter and tunnel from deleting extra acceptor items 2022-01-25 18:30:14 +00:00
Sense101
cd72da5023 Fix throughput at high speeds and allow multiple items to be stored in an acceptor slot before it's full 2022-01-25 18:20:38 +00:00
Sense101
9f7c95aec3 Minor changes for processor consistency 2022-01-25 13:41:32 +00:00
Sense101
b39d129152 revert processor back to using time, and convert progress both ways 2022-01-25 11:41:52 +00:00
Sense101
b9e09dfb3b Fix trash achievement not counting all inputs 2022-01-24 16:07:02 +00:00
Sense101
a00c3c6ef3 Fix bugs with ejector and minor changes to processor 2022-01-24 15:49:24 +00:00
Sense101
21df7583f1 save acceptor inputs to remove startup time on load 2022-01-23 20:30:41 +00:00
Sense101
6cfdca3e10 Fix filter 2022-01-23 20:23:51 +00:00
Sense101
b0fc52a55f Major cleanup and fixes 2022-01-23 20:12:07 +00:00
Sense101
5a310629c0 Undo unnecesary renaming 2022-01-23 20:12:07 +00:00
Sense101
fb0a66f5ca Merge branch 'modloader' into processing-refactor 2022-01-23 16:49:05 +00:00
Emerald Block
431453f1a2
fix entity debugger reaching HTML elements (#1353) 2022-01-23 17:14:24 +01:00
Bagel03
8dcb5faf5f
Bind this for method overriding JSDoc (#1352) 2022-01-23 17:14:03 +01:00
Sense101
93daf53b0f test 2022-01-22 21:06:06 +00:00
tobspr
509c01f642 Fix mod examples 2022-01-22 22:04:49 +01:00
Sense101
3bd86aa6d0 half ejector progress 2022-01-22 19:18:40 +00:00
Sense101
132eff5f58 adjust hub goals 2022-01-22 18:40:46 +00:00
tobspr
0540a010a6 Make wired pins component optional on the storage 2022-01-22 18:23:05 +01:00
tobspr
48adc30a87 Merge branch 'modloader' of github.com:tobspr/shapez.io into modloader 2022-01-22 10:03:44 +01:00
tobspr
408d1a7dca Mod improvements 2022-01-22 10:03:42 +01:00
saile515
a3dfe6f5fb
Replaced concatenated strings with template literals (#1347) 2022-01-22 09:50:02 +01:00
tobspr
ade7176dba Add sandbox example 2022-01-22 09:34:38 +01:00
tobspr
1287bc9bf1 Allow specifying minimumGameVersion 2022-01-22 09:03:42 +01:00
tobspr
7741d1590e Refactor item acceptor to allow only single direction slots 2022-01-21 09:43:21 +01:00
Sense101
e3dc236286 remove cap on startProgress to help fix high speeds - item ejector is still limited to 1 item/tick though 2022-01-20 22:47:11 +00:00
Sense101
10e9d2cf8b add braces 2022-01-20 21:57:20 +00:00
Sense101
36f125e6d7 most of the requested changes 2022-01-20 21:50:42 +00:00
tobspr
511d0556e1 Merge branch 'modloader' of github.com:tobspr/shapez.io into modloader 2022-01-20 22:18:30 +01:00
tobspr
2ab4f3ba9a Minor adjustments 2022-01-20 22:18:25 +01:00
Sense101
c86416cf79 fix minor issues 2022-01-20 19:48:03 +00:00
Sense101
f3a65812a9 Merge branch 'modloader' into processing-refactor 2022-01-20 16:59:06 +00:00
Thomas (DJ1TJOO)
0718f6cf80
Fixed class handle type (#1345)
* Fixed class handle type

* Fixed import game state
2022-01-20 17:57:04 +01:00
Emerald Block
839d203737
allow command line switch to load more than one mod (#1342) 2022-01-20 17:56:26 +01:00
Thomas (DJ1TJOO)
7a1dedd2c8
Added link to create-shapezio-mod npm page (#1339)
Added link to create-shapezio-mod npm page: https://www.npmjs.com/package/create-shapezio-mod
2022-01-20 17:56:09 +01:00
tobspr
388f7888ee Prettier fixes 2022-01-20 17:55:53 +01:00
Bagel03
30beb7df5f
Allow external URL to load more than one mod (#1337)
* Allow external URL to load more than one mod

Instead of loading the text returned from the remote server, load a JSON object with a `mods` field, containing strings of all the mods. This lets us work on more than one mod at a time or without separate repos. This will break tooling such as `create-shapezio-mod` though.

* Update modloader.js
2022-01-20 17:54:42 +01:00