2019-03-03 11:30:30 -05:00
|
|
|
========================================================================
|
2020-06-20 10:11:14 -04:00
|
|
|
ISSUES-CODE: Issues related to code quality and APIs
|
2019-03-03 11:30:30 -05:00
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
2019-03-05 19:20:38 -05:00
|
|
|
#### ##### #### # # ###### ##### ####
|
|
|
|
# # # # # # # # # # #
|
|
|
|
#### # # # # # # ##### # # ####
|
|
|
|
# ##### # # # # # ##### #
|
|
|
|
# # # # # # # # # # # #
|
|
|
|
#### # #### # ###### ###### # # ####
|
|
|
|
|
2020-06-21 09:58:01 -04:00
|
|
|
- Unify Player API
|
|
|
|
- Because nc_player_setup is currently expensive.
|
|
|
|
- Combine existing globalsteps, wrap with metadata to do one
|
|
|
|
set of set_properties, physics, anim, etc calls at the end.
|
|
|
|
- All perplayer globalsteps maybe?
|
|
|
|
- Skybox, sunlight
|
|
|
|
- Physics, zoom, run speed
|
|
|
|
- Visuals, anims
|
|
|
|
- Move step hook into API layer
|
|
|
|
- Use prio system like recipes/mapgen_shared for moddability
|
|
|
|
- Reorg nc_player_* mods, simplify?
|
|
|
|
|
2020-06-20 10:11:14 -04:00
|
|
|
- Continue to chisel away at ABM perf issues.
|
|
|
|
- Simplify or optimize existing ABMs
|
|
|
|
- Convert things to DNTs.
|
2020-05-29 09:20:40 -04:00
|
|
|
|
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
|
|
|
- Deprecation warnings for get_connected_players() at mod load time:
|
|
|
|
(at /config/.minetest/games/nodecore/mods/nc_envsound/init.lua:52)
|
|
|
|
(at /config/.minetest/games/nodecore/mods/nc_lux/radiation.lua:85)
|
|
|
|
(at /config/.minetest/games/nodecore/mods/nc_lux/react.lua:60)
|
|
|
|
(at ...fig/.minetest/games/nodecore/mods/nc_api_active/aism.lua:93)
|
|
|
|
(at ...fig/.minetest/games/nodecore/mods/nc_player_sky/init.lua:52)
|
|
|
|
(at ...inetest/games/nodecore/mods/nc_player_health/radiant.lua:61)
|
|
|
|
|
|
|
|
- Deprecation checks:
|
|
|
|
- get_connected_players() at loadtime
|
|
|
|
- old version of set_sky()
|
2020-06-20 10:45:44 -04:00
|
|
|
- Look for set_sun() to determine if new set_sky available?
|
|
|
|
- ...or wait for pre-5.2 deprecation
|
2020-05-29 09:20:40 -04:00
|
|
|
|
2020-06-20 10:11:14 -04:00
|
|
|
- Take advantage of the fact that players/inventories use a single shared
|
|
|
|
metatable for player inventory arrangement hooks in nc_player_pickup,
|
|
|
|
like we did for entity:set_properties.
|
2020-06-20 10:45:44 -04:00
|
|
|
- Currently inv pickup logic isn't working and we're relying on
|
|
|
|
rearrangement; need to resolve this one way or another.
|
2020-06-20 10:11:14 -04:00
|
|
|
|
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. drop_in_place should hook the engine's dig event instead of
|
|
|
|
registering an on_dig on the node, so inheritance works.
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
2020-06-20 10:11:14 -04:00
|
|
|
- Hint System Refactor
|
|
|
|
- Move stats into an api layer to ensure availability.
|
|
|
|
- Simplify stats, track less detail, limit data growth.
|
|
|
|
- Break up hints into each individual mod.
|
|
|
|
- Add shortcuts for hint registrations, e.g. integrated with recipes.
|
2020-01-28 19:42:59 -05:00
|
|
|
|
|
|
|
- Should we create "recipe groups" to make it easier to specify
|
|
|
|
equivalent recipes for hint purposes?
|
|
|
|
|
2020-01-10 06:26:07 -05:00
|
|
|
- Item ent merge should use logic consistent with nodecore.stack_merge,
|
|
|
|
which handles item families.
|
|
|
|
|
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?
|
|
|
|
|
2020-03-20 07:27:06 -04:00
|
|
|
- NodeCore Spreading ABM API
|
|
|
|
- Eligibility check
|
|
|
|
- Time cumulative process like soaking
|
|
|
|
- Push excess to adjacent nodes if eligible
|
|
|
|
- Don't trigger immediately; wait for next cycle
|
|
|
|
|
2020-03-21 09:05:53 -04:00
|
|
|
- API for map-seed-deterministic scatter.
|
|
|
|
- Given minp, maxp, seed and density, find all positions.
|
|
|
|
- Use for sponges, lava/water springs, etc.
|
|
|
|
|
2020-01-10 21:11:52 -05:00
|
|
|
- Replacement for mkreg, a.k.a. 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.
|
|
|
|
- Allow unregistering things...?
|
|
|
|
|
2020-01-19 17:44:33 -05:00
|
|
|
- Unify sponge growth logic so it can be used for mapgen, to ensure
|
|
|
|
that spawned sponges match naturally-grown ones?
|
|
|
|
|
2020-06-20 10:11:14 -04:00
|
|
|
- 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
|
|
|
|
|
|
|
|
- Wandering fluids API for concrete, glass?
|
|
|
|
- Configurable setting for generation count multiplier.
|
|
|
|
|
|
|
|
- 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
|
2019-10-24 20:16:37 -04:00
|
|
|
|
2020-06-20 10:45:44 -04:00
|
|
|
- Need better handling of stuck item ents, e.g. items dropped into a
|
|
|
|
pit full of leaves.
|
|
|
|
- Detect, merge all in area, save as a single combined ent?
|
|
|
|
- Try placing items as a queue, so it only does 1 check per tick
|
|
|
|
and doesn't attempt other checks that would also fail.
|
|
|
|
- Maybe just cache item placement failures per tick.
|
|
|
|
|
2019-03-03 11:30:30 -05:00
|
|
|
........................................................................
|
2019-03-04 19:33:55 -05:00
|
|
|
========================================================================
|