Page 1 of 1

[MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sat Mar 11, 2023 9:04 pm
by Silari
What?
I've made an unofficial update to Creative Mod to deal with some of the issues arising from how old and out of date it's code base is. For instance, the void energy type was added in 0.17, but the mod still relies on burner energy types refilled by LUA scripting to keep entities powered.

The full changelog is in the zip file, with a truncated one below and in the link.

Matter sources/voids/duplicators, duplicating chests, cargo wagons, boilers/coolers, and autofill requester chests are notable exceptions in not using updated entities, mainly because there either isn't a direct replacement or one of the other items fills the role better, except in particular situations where the scripting is still useful. For instance, the autofill requester chest is the only way to keep a chest filled based on a circuit network signal, which could be useful in some situations.

Once I've got some additional testing to ensure nothing in old setups is going to break, I'll make a pull request to get my changes merged into the official release. The mod should perform almost exactly the same as before, except with the specific differences noted in the changelog. If the changes aren't pulled into the official one, I'll release my own fork with them and some additional changes, with less concern for backwards compatibility.

UPS test results - measuring time spent in creative-mod:
Empty map - 0.065ms average with 1.8.0, to 0.06ms average with 1.8.1
Map with 400: fluid source into tank into fluid void - ~3.5ms average, to 0.07ms avg
Map with 805 super radars - 1.9ms average, to 0.07ms average
Map with 350: inf chest into loader onto blue belt into loader into void chest - 0.13ms avg, to ~0.068ms
Map with 350: dupe chest into loader onto blue belt into loader into void chest - 0.25ms avg, to 0.21ms avg
Map with 140 heat exchangers + pipes + heat pipes + 14 heat source + 14 heat void + 16 vanilla infinity pipe, making 347K steam per minute: 0.17ms avg, to 0.078ms making 347K steam

Obviously, exact times will be different on different hardware, but the proportional UPS savings should be roughly the same.

Code: Select all

Features:
    - Added a recipe for the vanilla infinity chest, as well as requester and provider variants, a version of the Loader1x1, a version of the linked chest, and a version of linked belts. 
  Optimizations:
    - Removed all scripting for fluid-source, fluid-void, super-radar, super-beacon, super-roboport, energy-void, energy-source, passive-energy-void, passive-energy-source. They no longer require it. See details below.
    - Changed all creative entities requiring power to use a void energy source.
    - Changed Heat Source and Heat Void to use the Heat Interface prototype instead. 
        - These look different now due to the differences in how heat-interfaces work - they don't have separate connection sprites like heat pipes do, so they are locked into the 4 way sprite.
    - Changed creative-chest, creative-provider-chest, void chest, void storage chest, and void requester chest to use the vanilla infinity chest. No changes in usage should be present.
        - Removed all on-tick scripting for these entities. There is a quick script ran on placement that sets them up, and GUI scripting for the creative chests.
        - creative-chest and creative-provider-chest have two minor regressions: 
            - Copy/paste no longer works since the base game considers them non-operable. As it appears this only set the group number, and not the filters, this is fairly minor.
            - The inventory display mode also doesn't do anything for them, since infinity chests sort their contents. Technically it DOES have a slight change in how the filters are set, but as those are only viewable in the editor this isn't particularly useful.
    - Changed Fluid Void to use the vanilla infinity pipe.
        - Old fluid voids will NOT be automatically swapped to the new one - due to changing to a pipe, new fluid voids will connect in all four directions, which may cause issues with previous builds. They will remain scripted and thus use significantly more UPS until replaced. Any newly built fluid voids will be the new style and not use scripting.
        - These are now a purple tinted pipe instead of the old graphics, due to the prototype change and requirement to connect in all four directions.
    - Energy void no longer produces an item. It should run constantly as long as it has power.
    - Active and Passive Energy Sources and Passive Energy Void are now electric interfaces and require no LUA scripting to function.
        - They no longer have a circuit connection due to this change.

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sat Mar 11, 2023 10:01 pm
by FuryoftheStars
Ooooo... awesome! I still use the old one, but I will not say "no" to an improved version. :)

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sat Mar 11, 2023 11:21 pm
by Xorimuth
What's the functional differences between this and Editor Extensions?

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sat Mar 11, 2023 11:40 pm
by Silari
Never used Editor Extensions so no idea. It's Creative Mod, but (should be) faster. That's all I can say.

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sun Mar 12, 2023 12:30 am
by FuryoftheStars
Xorimuth wrote: Sat Mar 11, 2023 11:21 pm What's the functional differences between this and Editor Extensions?
I haven't really used Editor Extensions, either, but based on the description, EE works in conjuction with /editor, whereas Creative Mod(e) has its own independent interface, tools, and even has its own section in the player's build menu. CM's interface also includes the ability to alter several player and game settings.

(Was the first iteration of Creative Mod(e) before /editor was a thing?)

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sun Mar 12, 2023 12:37 am
by Xorimuth
FuryoftheStars wrote: Sun Mar 12, 2023 12:30 am
Xorimuth wrote: Sat Mar 11, 2023 11:21 pm What's the functional differences between this and Editor Extensions?
Creative Mod(e) has its own independent interface, tools, and even has its own section in the player's build menu.
Like this? ;) https://raw.githubusercontent.com/raigu ... -tools.png

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sun Mar 12, 2023 1:04 am
by FuryoftheStars
Xorimuth wrote: Sun Mar 12, 2023 12:37 am
FuryoftheStars wrote: Sun Mar 12, 2023 12:30 am
Xorimuth wrote: Sat Mar 11, 2023 11:21 pm What's the functional differences between this and Editor Extensions?
Creative Mod(e) has its own independent interface, tools, and even has its own section in the player's build menu.
Like this? ;) https://raw.githubusercontent.com/raigu ... -tools.png
Yes. :) And other things (old version as it had images): https://mods.factorio.com/mod/creative-mode
Image

(And here's the original that inspired them all: viewtopic.php?t=8976)

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sun Mar 12, 2023 2:29 am
by Silari
FuryoftheStars wrote: Sun Mar 12, 2023 12:30 am (Was the first iteration of Creative Mod(e) before /editor was a thing?)
Map Editor used to only be accessible from the main menu until 0.17, so yes, there was no /editor when the original was released. And even then there wasn't any electric energy interface or infinity chests or the like. There are also advantages to being able to do it during regular game play, or use a command that disables achievements.

Re: [MOD 1.1] Need help testing unofficial Creative Mod update

Posted: Sun Mar 12, 2023 6:14 am
by FuryoftheStars
Silari wrote: Sun Mar 12, 2023 2:29 am
FuryoftheStars wrote: Sun Mar 12, 2023 12:30 am (Was the first iteration of Creative Mod(e) before /editor was a thing?)
Map Editor used to only be accessible from the main menu until 0.17, so yes, there was no /editor when the original was released. And even then there wasn't any electric energy interface or infinity chests or the like. There are also advantages to being able to do it during regular game play, or use a command that disables achievements.
Yeah, I've always liked that about Creative Mode where you don't need to use /editor to have full access to all of its features.