{"id":19675663,"url":"https://github.com/notnite/ffxiv-ce","last_synced_at":"2026-05-15T02:39:53.225Z","repository":{"id":237425789,"uuid":"648348910","full_name":"NotNite/ffxiv-ce","owner":"NotNite","description":"Helper library for writing Cheat Engine Lua scripts for FFXIV","archived":false,"fork":false,"pushed_at":"2023-06-01T19:07:52.000Z","size":10,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T04:23:47.179Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NotNite.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-01T19:07:39.000Z","updated_at":"2024-01-16T16:23:35.000Z","dependencies_parsed_at":"2024-05-01T17:34:41.729Z","dependency_job_id":"0a5c0ca6-045f-483f-b421-d6415eeb9904","html_url":"https://github.com/NotNite/ffxiv-ce","commit_stats":null,"previous_names":["notnite/ffxiv-ce"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotNite%2Fffxiv-ce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotNite%2Fffxiv-ce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotNite%2Fffxiv-ce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotNite%2Fffxiv-ce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NotNite","download_url":"https://codeload.github.com/NotNite/ffxiv-ce/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240985436,"owners_count":19889085,"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","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":[],"created_at":"2024-11-11T17:25:26.697Z","updated_at":"2026-05-15T02:39:53.189Z","avatar_url":"https://github.com/NotNite.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ffxiv-ce\n\nHelper library for writing Cheat Engine Lua scripts for FFXIV.\n\n## Installation\n\n- Open a terminal in your Cheat Engine installation folder\n- `cd lua`\n- `git clone https://github.com/NotNite/ffxiv-ce.git ffxiv`\n\n## Usage\n\nFrom the Lua Engine (in Memory Viewer, press Ctrl+L or navigate to Tools \u003e Lua Engine), add this to the beginning of your scripts:\n\n```lua\nlocal ffxiv = require(\"ffxiv\")()\n```\n\nYou can then access `ffxiv` or `_G.ffxiv` (variable assignment not required, as it is populated into the global table).\n\nIf you wish to override some properties on load, you can pass a table to the load function (all parameters optional):\n\n```lua\nlocal ffxiv = require(\"ffxiv\")({\n  image_base = 42069,\n  executable = \"ffxiv.exe\",\n  rev = 42069,\n  cache_file = \"D:\\\\ffxiv-ce.json\"\n})\n```\n\n## Documentation\n\nSee [DOCS.md](DOCS.md).\n\n## Known issues\n\n- Loading the library may fail or produce weird results when not attached to FFXIV. You may want to set up Cheat Engine to auto attach to FFXIV (Edit \u003e Settings \u003e General Settings \u003e Automatically attach to processes named).\n- Signature scanning is incredibly slow when the cache isn't populated.\n\n## Internals\n\nTo get easy hot reloading, `require(\"ffxiv\")()` requires `init.lua`, which then returns a function that gets immediately called. This function clears the entries from `package.loaded`, requires all of the modules, and then calls `ffxiv.init()` when everything is loaded. Overrides are then processed (for e.g. changing cache file), and then the cache is loaded.\n\nTo be performant, some values (signature results, original ASM bytes) are stored in a cache file, marked with the current game revision to allow invalidation on game updates. This cache is stored in `\u003ccheat engine dir\u003e/lua/ffxiv/cache.json`.\n\nFor better typing, Cheat Engine functions are wrapped in `ce.lua`.\n\n## Contributing\n\n- Write in `snake_case`.\n- Use [StyLua](https://github.com/JohnnyMorganz/StyLua) for formatting (Lua 5.3).\n- Use [lua-language-server](https://github.com/LuaLS/lua-language-server) for type hints.\n- Wrap Cheat Engine functions in `ce.lua` for type hinting.\n- When adding new modules, please follow this format, so modules can be required separately if needed:\n\n```lua\nif not _G.ffxiv then\n  require(\"ffxiv.main\")\nend\n\n_G.ffxiv.module_name = {}\n\n-- do stuff with your module here\n\nreturn _G.ffxiv.module_name\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotnite%2Fffxiv-ce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotnite%2Fffxiv-ce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotnite%2Fffxiv-ce/lists"}