{"id":15140875,"url":"https://github.com/hacknique/item_tracking","last_synced_at":"2026-02-11T11:03:39.072Z","repository":{"id":200260502,"uuid":"704833569","full_name":"Hacknique/item_tracking","owner":"Hacknique","description":"Provides a API to mod developers to track which inventories items are in.","archived":false,"fork":false,"pushed_at":"2023-10-15T06:25:02.000Z","size":184,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T13:34:01.794Z","etag":null,"topics":["api","library","minetest","minetest-mod"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hacknique.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-14T08:26:14.000Z","updated_at":"2024-09-07T03:11:33.000Z","dependencies_parsed_at":"2023-10-16T08:35:13.642Z","dependency_job_id":"8d56531c-10c0-4eb1-aa30-a9ef16e0486a","html_url":"https://github.com/Hacknique/item_tracking","commit_stats":null,"previous_names":["jamesclarke7283/item_tracking"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Hacknique/item_tracking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hacknique%2Fitem_tracking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hacknique%2Fitem_tracking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hacknique%2Fitem_tracking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hacknique%2Fitem_tracking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hacknique","download_url":"https://codeload.github.com/Hacknique/item_tracking/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hacknique%2Fitem_tracking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270859063,"owners_count":24658148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","library","minetest","minetest-mod"],"created_at":"2024-09-26T08:42:07.886Z","updated_at":"2026-02-11T11:03:39.034Z","avatar_url":"https://github.com/Hacknique.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n\nA Minetest mod that provides a API to mod developers to track which inventories\nitems are in.\n\n# API\n\n## Track Items Attached Inventory\n\nYou can track the inventories the items are in. To say for example, check if the\nitem still exists in a inventory.\n\n```lua\nitem_tracking.track_attached_inventory({\n    name = \"modular_computers:motherboard_tier_1\",\n    meta = {id = \"ze0ei1beb0Xsz4VuUB4nLPS1BME\"} -- meta is optional\n}, function(name) minetest.log(\"action\", \"Attached to \" .. name) end)\n```\n\n## Track Item\n\nYou Can track a given item across node,detached and player inventories, when\nsomeone puts something in a inventory, or moves the item within the inventory.\n\n```lua\nlocal node_callbacks = {\n    on_put = function(pos, listname, index, stack, player)\n        minetest.log(\"action\", \"Item put in node inventory\")\n    end,\n    on_move = function(pos, from_list, from_index, to_list, to_index, count,\n                       player) act(\"Item moved in node inventory\") end\n}\n\nlocal detached_callbacks = {\n    on_put = function(inventories, listname, index, stack, player)\n        minetest.log(\"action\", \"Item put in detached inventory\")\n    end,\n    on_move = function(inv, from_list, from_index, to_list, to_index, count,\n                       player) act(\"Item moved in detached inventory\") end\n}\n\nlocal player_callbacks = {\n    on_put = function(itemstack, player, inventory, index)\n        minetest.log(\"action\", \"Item put in players inventory\")\n    end,\n    on_move = function(inventory, from_list, from_index, to_list, to_index,\n                       count, player)\n        minetest.log(\"action\", \"Item is moved in player's inventory\")\n    end\n}\n\nitem_tracking.register_tracker({\n    name = \"modular_computers:motherboard_tier_1\",\n    meta = {id = \"some_unique_id\"} -- optional\n}, node_callbacks, detached_callbacks, player_callbacks)\n```\n\n# License\n\n- [Code License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacknique%2Fitem_tracking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhacknique%2Fitem_tracking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacknique%2Fitem_tracking/lists"}