to clarify, is on_entity_destroyed guaranteed to fire after removal no matter what? Yes, it is guaranteed to fire no matter what made your entity stop existing. The caveat is that it could take 1–2 ticks before the event fires and you have to register each entity you want that event to be raised fo...
Is it possible for an entity to be removed from a world without raising an event? Yes. Any entities destroyed by script using LuaEntity::destroy won't raise any events by default, unless raise_destroy=true is passed in that function call. Players placing waterfill under an entity is one other commo...
The issue you're having is related to an incompatibility that SE has with an item type used by version 1.3.0+ of Memory Storage. This will eventually get resolved on SE's end. In the meantime, you can download version 1.2.15 from the mod portal and place the zip file in your mods folder (after delet...
Having played around with the new design some more, I really miss the blue color used in the previous design for links (and throughout the Factorio homepage) over the new brown one. The latter just feels a lot harder to read. I would suggest either using the old blue color or increasing the brightne...
Even if you were to get the correct name for the seam resource, you'll find that SE will immediately recreate them after they get destroyed (if the chunk they were in is still generated). SE does this in order to make the sealing mechanic works in the way it does, and to make sure players don't perm...
I loaded your savefile with a small subset of your mods (SE and its dependencies + K2), and I was able to trim Nauvis in about 30 seconds on a laptop. One of your other mods (which I didn't have enabled) is presumably listening for chunks getting deleted (or registered entities getting destroyed) an...
I only thought to ask because I figured the game likely has much of this functionality (or something similar) already implemented for use with artillery based on a comment that Rseding made in the mod-making channel. It also seemed like something that other modders might make use of. Happy to do it ...
I'd like to propose the addition of LuaSurface::request_nearest_enemy . Briefly, a call to this method would return a uint id for the request and would search for the nearest enemy entity meeting the specified criteria in a rate-limited way. Once the request is finished (upon finding an enemy, upon ...
The "type" field of a CapsuleAction object is "artillery-remote" for artillery targeting remotes. This is not included as one of the possible options for that field in the docs . To verify, hold an artillery remote in your cursor and type: [code]/c game.print(game.player.cursor_...
I'm encountering a crash-to-desktop when trying to create a blueprint of, or copy (using Command + C) two or more circuit-connected entities, if one or more of them are linked chests. I created a test mod to demonstrate the issue, since the base game's linked-chest prototype does not support circuit...
It appears that NaN values in a mod or scenario's global table are flagged as being corrupt when trying to load a savefile, but not when making it. This is problematic, because the player can easily overwrite all of their savefiles/autosaves without realizing they're all corrupt. It would be great i...
When you enable "show time usage" in debug options, three numbers will be shown next to each mod name in the form average/min/max. You'll want to pay attention to that third number when investigating such occasional stutters.
The most straightforward way to regenerate entities and decoratives after tile replacement is to use LuaSurface :: regenerate_entity and LuaSurface :: regenerate_decorative . The problem with both of these functions is that they block further script execution until they are completed. While those fu...
In previous versions of the API (like this one), this property had a note that it can only be used for crafting machines. This note is no longer there even though I still believe it applies.
-> As noted before, this has been fixed for the next release.