nodecore-cd2025/docs/issues-code.txt

140 lines
5.4 KiB
Plaintext
Raw Normal View History

========================================================================
ISSUES-CODE: Issues related to code quality and APIs
------------------------------------------------------------------------
#### ##### #### # # ###### ##### ####
# # # # # # # # # # #
#### # # # # # # ##### # # ####
# ##### # # # # # ##### #
# # # # # # # # # # # #
#### # #### # ###### ###### # # ####
2021-08-01 20:19:27 -04:00
- Make door operation bredth-first queue-recursive for consistent
operation and addressing timing conflicts.
2021-07-04 10:19:54 -04:00
- Unify the "node destruction particles" system. Allow complex options,
like alternative node def, particle def, disable on silk touch.
2021-02-27 07:51:17 -05:00
- A wooden plank appeared to have decayed in place of a scaling node;
could it be a problem with ABM muxing?
- Switch ents to using on_step moveresult for collision detection
instead of checking nodes directly.
2021-02-26 09:01:54 -05:00
- Organize into modpacks for layers
- Compat
- Util
- API
- Natural
- Tech
2020-09-26 22:24:09 -04:00
- Try to detect and separate out translation strings coming from
non-core mods so we can consistently generate the game translation
file without having to disable mods.
2021-02-26 09:01:54 -05:00
- Automate uploading translation source strings?
2020-09-26 22:24:09 -04:00
- Test nc_wield with items that have their own visual scale.
- Flammability ABM ordering. Always do extinguish check after ignite
2021-08-01 20:19:27 -04:00
checks or vice versa, so suboptimal firestarting is consistent
- Make door pusheability customizable
- door_can_push or door_cannot_push groups/flags or something.
- Allow override of standard falling_node check.
- Overhaul player health to work entirely virtual
- Raise max up a lot to make room for fine grained falling
damage so we can raise threshold
- Consider falling damage add percent to all nodes?
- Add API for doing fake damage effect using set hp
- Allow optics pending transaction to be flushed early
- Optics interacting with doors are out of sync
- May need to commit the optic state immediately when triggering
doors so they get the correct current state.
- Consider full eversion of event handlers
- Disallow (or automatically convert) traditional single-handlers
on all definitions
- Use a register_on_something() method to hook pretty much
everything
- Unify mkreg
- Add validation/modifying and order comparison funcs
- Use for recipes, mapgen_shared, playerstep, etc.
- Consider replacing with register_generic():
- Allow lazy registration, i.e. a register method that can
register for things not yet defined, and allow later registration
of the registration definition that will pick up those missed.
- Define order for inv tabs
- Transactional api ref localization
- For certain large computations, like an optic processing, it may be
worthwhile to capture some often-repeated functions like minetest.get_node
as locals.
- May need to test performance on a non-JIT build, where this is expected
to have a larger impact, since JIT probably optimizes the difference away.
2020-06-20 10:45:44 -04:00
- Some time-integral processes are not resetting when prereqs removed
- Cooking resumes instead of resetting when fire removed.
- Leaching resumes instead of resetting when water removed.
2020-05-29 09:20:40 -04:00
- Make leaf decay group-driven for mod applicability.
- Switch some extended attributes to first-class support instead of modifying
definition at registration time.
- e.g. the way drop_in_place used to be an after_dig_node hook
modifier but became first-class.
2020-05-29 09:20:40 -04:00
- Add a nodecore.inherit_node() helper that registers a node as a
modified copy of another definition, e.g. for planted eggcorns copying
dirt, door panels copying original materials, etc.
- Add an on_falling_check handler to replace check_single_for_falling custom
hook in writing, and possibly other places.
- Should we create "recipe groups" to make it easier to specify
equivalent recipes for hint purposes?
2020-01-19 17:44:33 -05:00
- Need to find a way to make AISMs work with falling_node.
- Create ItemStack, run hooks, try to convert back to node
(assume node and item meta map 1:1) and if it fails then
spawn an item_ent.
- Need this for amalgamation remelting.
- Would it make sense to unify the item and falling_node ents?
- Unify sponge growth logic so it can be used for mapgen, to ensure
that spawned sponges match naturally-grown ones?
- Easier recipe API:
- Use ascii art like ezschematic?
- Aliases like "sides"/"corners"?
- Make 3x3 recipes easier to define.
- Standardize visinv access API
- stack_access(pos, node, dirfrom) - return booly
whether access to inside stack is allowed.
- Use for shelf API.
- Use for touchtips inv access.
- Genericize sponge logic using stack_access API
- API for recursing through embedded inventories, e.g. in totes.
- Lux reaction cannot sense other lux inside totes.
- Scripts to validate dependency graph.
- Tag deps directly in code at place of use.
- Auto-generate mod.conf / depends.txt
- API Cleanup
- Further nc_api break-up, clean up util functions.
- Heat API
- Quenched, Flames as numbers or nil?
- Unify nc_items and visinv API.
- Stack nodes are "special", get first-class support.
- APIs for different kinds of "neighbor" scans
- Face, edge, corner touching
........................................................................
========================================================================