nodecore-cd2025/docs/issues-code.txt

184 lines
6.9 KiB
Plaintext
Raw Normal View History

========================================================================
ISSUES-CODE: Issues related to code quality and APIs
------------------------------------------------------------------------
#### ##### #### # # ###### ##### ####
# # # # # # # # # # #
#### # # # # # # ##### # # ####
# ##### # # # # # ##### #
# # # # # # # # # # # #
#### # #### # ###### ###### # # ####
- Add AISM profiler similar to how ABM profiler already works
2021-12-08 23:20:42 -05:00
- Optimize colony growth logic
- For each sponge found, push into a queue
- Process queue on step:
- Skip all "seen" sponges
- For each sponge, floodfill to find colony
- Mark all sponges in colony as "seen"
- Look for a "colony center" sponge that has colony metadata
- Process growth for entire colony, generate sponges
as needed
- If a sponge is dug, check to see if it's the colony
seed and has the metadata
- Transfer metadata to any face-touching sponge
2021-12-05 14:39:50 -05:00
2021-11-25 21:36:24 -05:00
- Allow mods to affect game time flow
- Allow skipping forward through time
- For an offline mod for mobile SP to make gametime Track
realtime even when world is offline
2021-08-27 20:50:31 -04:00
- Recipe "rate adjust" is messed up.
- Make rate_adjust ONLY use config
- Add a speed adjustment for manual changes, e.g. when
tool speed is used
- LookTips
- API needs an overhaul
- Use a single generic name everywhere (getdesc?)
- Simplify calling, maybe pass data table
- Unify between node/itemdefs, entdefs, etc.
- Update mods depending on touchtips
- Fix glyph handling to be face-specific instead of
always naming the glyph if above, even if wrong face
- Crosshair still not fully synced with looktip: node
name visible due to punching nodes still does not
solidify the crosshair in darkness.
- Player skin API overhaul
- Pass a context object only
- Use player name, not player obj
- Update based on recentish engine sound improvements
- Improvements committed 2020-02-01
- exclude_player in sound_play instead of looping through
https://github.com/minetest/minetest/commit/ace3c7611
- Remove NC's "social sounds" feature for dig/place
https://github.com/minetest/minetest/commit/c10e18859
2021-08-04 22:58:29 -04:00
- Convert more things to autostart DNTs?
2021-08-18 23:12:06 -04:00
- Expand stackapply recipes
- Allow them to work with non-stacks?
- Hook into item_place
- Work for mixing coal into wet concrete?
- Make stickcraft recipes work in tight spaces?
- Simulate node placement for place recipes?
2021-12-10 20:29:07 -05:00
- Anywhere we are using explicit names or lists of names in game, we
should probably try registering groups to allow future expansion
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.
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.
- 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
........................................................................
========================================================================