{"id":51127543,"url":"https://github.com/owengregson/asynctnt","last_synced_at":"2026-06-25T09:00:44.809Z","repository":{"id":365126252,"uuid":"1269794072","full_name":"owengregson/AsyncTNT","owner":"owengregson","description":"Asynchronous TNT for Paper \u0026 Folia (MC 1.17.1–26.1.x) — off-thread TNT \u0026 sand/gravel ticking and explosions to kill factions TNT-cannon lag, with 1:1 vanilla physics.","archived":false,"fork":false,"pushed_at":"2026-06-16T00:41:54.000Z","size":285,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T02:21:50.300Z","etag":null,"topics":["anti-lag","async","bukkit","bukkit-plugin","cannoning","factions","folia","minecraft","minecraft-plugin","minecraft-server","multithreading","optimization","paper","paper-plugin","papermc","performance","spigot","spigot-plugin","tnt","tnt-cannon"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/owengregson.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":"2026-06-15T05:26:16.000Z","updated_at":"2026-06-16T00:41:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/owengregson/AsyncTNT","commit_stats":null,"previous_names":["owengregson/asynctnt"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/owengregson/AsyncTNT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengregson%2FAsyncTNT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengregson%2FAsyncTNT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengregson%2FAsyncTNT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengregson%2FAsyncTNT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owengregson","download_url":"https://codeload.github.com/owengregson/AsyncTNT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengregson%2FAsyncTNT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34767548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"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":["anti-lag","async","bukkit","bukkit-plugin","cannoning","factions","folia","minecraft","minecraft-plugin","minecraft-server","multithreading","optimization","paper","paper-plugin","papermc","performance","spigot","spigot-plugin","tnt","tnt-cannon"],"created_at":"2026-06-25T09:00:44.240Z","updated_at":"2026-06-25T09:00:44.788Z","avatar_url":"https://github.com/owengregson.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AsyncTNT\n\n**Asynchronous TNT for Paper \u0026 Folia — kill the lag from TNT cannons without changing how TNT works.**\n\nAsyncTNT moves the heavy work of ticking primed TNT and falling blocks (sand/gravel) and computing\nexplosions **off the main server thread**, so big factions-cannon volleys stop tanking your TPS. The\nphysics stay **identical to vanilla** on every supported version — same trajectories, same\nexplosions, same cannon behavior.\n\n## What it does\n\n- Runs TNT + sand/gravel movement and the explosion math on background threads, removing the lag\n  spikes that mass TNT causes.\n- **Changes nothing by default.** Out of the box it's byte-for-byte vanilla — your cannons fire\n  exactly as they do now, just without the lag.\n- One jar for **Minecraft 1.17.1 → 26.1.x**, on both **Paper and Folia**.\n\n## Install\n\n1. Download `AsyncTNT.jar` from the [latest release](https://github.com/owengregson/AsyncTNT/releases/latest).\n2. Put it in your server's `plugins/` folder.\n3. Restart the server. That's it — no setup required.\n\n## Works with your other plugins\n\n- **Drop-in.** No client mods, no datapacks, no world changes.\n- **Protection / anti-grief / logging** plugins (WorldGuard, factions plugins, CoreProtect, GriefPrevention, …)\n  keep working — AsyncTNT fires the same explosion events Minecraft does, so those plugins still\n  block, protect regions, and log explosions normally.\n- **Anti-cheats** see ordinary TNT entities and ordinary velocities.\n\n## Commands\n\n| Command | What it does |\n| --- | --- |\n| `/asynctnt status` | Show whether the engine is running and how many TNT it's handling. |\n| `/asynctnt reload` | Reload the config. |\n| `/asynctnt world \u003cname\u003e on\\|off` | Turn the engine on/off for one world. |\n| `/asynctnt killswitch` | Instantly hand all TNT back to normal vanilla ticking. |\n\nAlias: `/atnt`. Permission: `asynctnt.command.use` (ops by default).\n\n## Configuration (`config.yml`)\n\n| Setting | Default | Meaning |\n| --- | --- | --- |\n| `engine.enabled` | `true` | Master on/off switch. |\n| `engine.disabled-worlds` | (none) | Worlds left on vanilla TNT. |\n| `engine.worker-threads` | auto | Number of background threads. |\n| `fork-fixes.*` | all `false` | Optional cannon-stabilization tweaks (TacoSpigot/PandaSpigot style). Leave off for pure vanilla. |\n\n## Supported platforms\n\n- **Paper** 1.17.1, 1.18.2, 1.19.4, 1.20.6, 1.21.x, 26.1.x (and the versions in between).\n- **Folia** 1.19.4+ (region-aware — cannons that fly across regions are handled).\n- Requires Java 17+ (Java 21+ on Minecraft 1.20.5 and newer, as the game itself does).\n\n## Notes\n\n- While the engine is handling a TNT, its blinking \"fuse flash\" animation may not speed up near the\n  end — purely visual; the timing and explosion are exactly vanilla.\n- Found a bug or a cannon that behaves differently? Please open an [issue](https://github.com/owengregson/AsyncTNT/issues).\n\n---\n\n\u003csub\u003eBuilding from source: `./gradlew build`. Design notes, the per-version physics research, and the\nreal-server test matrix live under `docs/`.\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowengregson%2Fasynctnt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowengregson%2Fasynctnt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowengregson%2Fasynctnt/lists"}