{"id":28364051,"url":"https://github.com/lualink/luastubgen","last_synced_at":"2026-05-09T07:03:01.759Z","repository":{"id":291027971,"uuid":"976349402","full_name":"LuaLink/LuaStubGen","owner":"LuaLink","description":"Generates Lua stub files with annotations from Java JARs for use with Lua LSPs, enabling IntelliSense and type-aware scripting in your IDE environments. Primarily for use with LuaLink.","archived":false,"fork":false,"pushed_at":"2026-05-07T13:55:01.000Z","size":207,"stargazers_count":2,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-07T15:45:47.476Z","etag":null,"topics":["java","lua","lua-scripting","luajit","minecraft","paper-plugin","papermc","spigot","spigot-plugin"],"latest_commit_sha":null,"homepage":"https://lualink.github.io/docs/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LuaLink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-02T00:30:27.000Z","updated_at":"2025-07-05T04:42:31.000Z","dependencies_parsed_at":"2025-05-02T01:26:59.793Z","dependency_job_id":"d7f01bf5-7f52-4e23-a9e0-f0c358983b80","html_url":"https://github.com/LuaLink/LuaStubGen","commit_stats":null,"previous_names":["lualink/luastubgen"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/LuaLink/LuaStubGen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLink%2FLuaStubGen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLink%2FLuaStubGen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLink%2FLuaStubGen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLink%2FLuaStubGen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LuaLink","download_url":"https://codeload.github.com/LuaLink/LuaStubGen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LuaLink%2FLuaStubGen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32810381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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":["java","lua","lua-scripting","luajit","minecraft","paper-plugin","papermc","spigot","spigot-plugin"],"created_at":"2025-05-28T20:12:19.767Z","updated_at":"2026-05-09T07:03:01.742Z","avatar_url":"https://github.com/LuaLink.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lua Stub Generator\n\nA Kotlin-based tool to generate Lua stub files with LuaLS annotations (Teal type defintions planned) from Java source or compiled JARs. Designed for use with [LuaLink](https://github.com/LuaLink/LuaLink).\n\n## Features\n\n- Parses both source and compiled JARs\n- Supports LuaLS Teal-style annotations\n- Extracts method signatures, field types, and class documentation\n- Processes Javadoc comments\n- Outputs structured Lua files for use with IDEs and Lua tooling\n\n## Usage\n\n```bash\njava -jar lua-stubgen.jar path/to/jar/paper.jar path/to/jar/adventure.jar...\n```\n\n# Example output of Bukkit `Player` from Paper sources JAR\n```lua\n--- Represents a player, connected or not\n-- org.bukkit.entity.Player\n---@class Player \nlocal Player = {}\n\n---@return Identity \n--- Paper start\nfunction Player:identity() end\n\n---@return BossBar\u003e \n--- Gets an unmodifiable view of all known currently active bossbars. This currently only returns bossbars shown to the player via #showBossBar(net.kyori.adventure.bossbar.BossBar) and does not contain bukkit org.bukkit.boss.BossBar instances shown to the player.\nfunction Player:activeBossBars() end\n\n---@return Component \n--- Gets the \"friendly\" name to display of this player.\nfunction Player:displayName() end\n\n---@param displayName? Component \n---@return nil \n--- Sets the \"friendly\" name to display of this player.\nfunction Player:displayName(displayName) end\n\n---@return string \nfunction Player:getName() end\n\n---@deprecated\n---@return string \n--- Gets the \"friendly\" name to display of this player. This may include color. Note that this name will not be displayed in game, only in chat and places defined by plugins.\nfunction Player:getDisplayName() end\n\n---@deprecated\n---@param name string \n---@return nil \n--- Sets the \"friendly\" name to display of this player. This may include color. Note that this name will not be displayed in game, only in chat and places defined by plugins.\nfunction Player:setDisplayName(name) end\n\n---@param name? Component \n---@return nil \n--- Sets the name that is shown on the in-game player list. If the value is null, the name will be identical to #getName().\nfunction Player:playerListName(name) end\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flualink%2Fluastubgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flualink%2Fluastubgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flualink%2Fluastubgen/lists"}