{"id":37861723,"url":"https://github.com/dm-vev/adamant","last_synced_at":"2026-01-16T16:32:30.556Z","repository":{"id":318824965,"uuid":"1074694188","full_name":"dm-vev/adamant","owner":"dm-vev","description":"A faithful fork of df-mc focused on full vanilla parity — implementing authentic Minecraft features, behaviors, and mechanics while maintaining performance and modularity.","archived":false,"fork":false,"pushed_at":"2026-01-13T20:06:52.000Z","size":94284,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T22:21:43.816Z","etag":null,"topics":["bedrock","bedrock-edition","df-mc","go","golang","mcpe","mcpe-server","mcpe-server-software","minecraft"],"latest_commit_sha":null,"homepage":"","language":"Go","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/dm-vev.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-12T09:48:30.000Z","updated_at":"2026-01-13T20:06:55.000Z","dependencies_parsed_at":"2025-10-16T12:23:54.037Z","dependency_job_id":"4ee21684-bc2a-492e-9b11-ded7098e4055","html_url":"https://github.com/dm-vev/adamant","commit_stats":null,"previous_names":["dm-vev/adamant"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dm-vev/adamant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dm-vev%2Fadamant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dm-vev%2Fadamant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dm-vev%2Fadamant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dm-vev%2Fadamant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dm-vev","download_url":"https://codeload.github.com/dm-vev/adamant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dm-vev%2Fadamant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bedrock","bedrock-edition","df-mc","go","golang","mcpe","mcpe-server","mcpe-server-software","minecraft"],"created_at":"2026-01-16T16:32:29.784Z","updated_at":"2026-01-16T16:32:30.522Z","avatar_url":"https://github.com/dm-vev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--suppress ALL --\u003e\n\n# Adamant\n\nAdamant is a Go-based Minecraft: Bedrock Edition server, forked from df-mc/dragonfly. The goal is to reach feature parity with PocketMine‑MP (PMMP) while keeping Dragonfly’s performance and developer‑friendly design.\n\nUpstream: https://github.com/df-mc/dragonfly\n\n## What’s New in Adamant\n- **Fully asynchronous world generator:** generation tasks now run in parallel across worker goroutines, drastically improving chunk generation speed and reducing main-thread load.\n- **PM‑style world generation**: pmgen overworld with biomes (e.g., Swamp) and ore population; configurable seed, worker count and queue size.\n- **Vanilla dimension generators**: new Overworld/Nether/End generators ported from the original Minecraft generation rules.\n- **Built‑in admin commands + server CLI**: `help`, `list`, `kick`, `gamemode`, `time`, `chat`, `gc`, `status`, `stop`, `about`, `whitelist`.\n- **Bedrock Query support**: server status, players, MOTD and plugins exposed to query clients (integrated via `server/query_adapter.go`).\n- **Whitelist system**: Nukkit-style `white-list.txt` allowlist with legacy TOML fallback; built‑in `whitelist`/`allowlist` commands and config enforcement.\n- **New items and vanilla features**: early stage of implementing core Bedrock mechanics — starting with fishing rods and Nether portals.\n- **Stability and concurrency hardening**: locks/atomics across sessions, registries, world counters, whitelist checks, chunk radius, and command origin tracking; snapshotting to avoid hot locks and I/O under locks.\n- **Inventory and container safety**: ordered locks for merge operations, guarded slot callbacks, validated stack requests/containers, hotbar slot clamping, and safer container-close handling.\n- **Data validation and panic resistance**: checks for creative item IDs, anvil rename indices, banner patterns, item NBT damage/book pages, skin/cape dimensions, transfer ports, and query HostPort bounds.\n- **World/AI correctness fixes**: bounded pmgen population concurrency, placeholder chunk tracking after load errors, stable pathfinding node storage, and hardened weather/explosion randomness.\n- **Gameplay correctness**: fixes for lightning height/offsets, grindstone XP ranges, crossbow quick-charge ticks, instant-break haste baseline, XP drop ranges, chest unpairing, and barrel/brewing NBT state.\n- **Query and persistence robustness**: token pruning, UUID validation, corruption guards for inventories, detached query player slices, and safer resource pack building.\n\n## Project Goal\nAchieve a PMMP‑like feature list, prioritising gameplay parity and admin ergonomics while keeping clean Go APIs for plugin and feature work.\n\n## Getting Started\nRequirements: **Go 1.23+**\n\nRun from source:\n```shell\ngit clone https://github.com/dm-vev/adamant\ncd adamant\ngo run .\n```\n\nStop the server with `Ctrl+C`.\n\n### Configuration\nServer settings are in `config.toml`.\n- `Network.Address`: listen address and port (default `:19132`).\n- `Server.Name`: server name in the list; `AuthEnabled`, `DisableJoinQuitMessages`, `MuteEmoteChat`, `ReconnectPolicy`.\n- `World`: `Seed`, `SaveData`, `GeneratorWorkers`, `GeneratorQueueSize`, `Folder`.\n\n  The asynchronous generator defaults to `GeneratorQueueSize = GeneratorWorkers * 4`. Under\n  extreme preloading you may need to raise both values to keep the queue from saturating; watch\n  the server logs for `world generator queue saturated` warnings. Profile the generator first if\n  it is limited by LevelDB or other I/O to ensure additional workers do not become the bottleneck.\n- `Players`: `MaxCount`, `MaximumChunkRadius`, `SaveData`, `Folder`.\n- `Resources`: `AutoBuildPack`, `Folder`, `Required`.\n- `Whitelist`: `Enabled`, `File` (default `white-list.txt`), `Reason` (kick message).\n\n### Whitelist Management\n- Enable/disable via `config.toml` → `[Whitelist].Enabled`.\n- Manage entries in‑game/console:\n  - `whitelist add \u003cplayer\u003e`\n  - `whitelist remove \u003cplayer\u003e`\n  - `whitelist list`\n\n### Query Support\nThe Bedrock Query adapter publishes live status, player names, and MOTD to query clients. No extra setup needed.\n\n## Development\nAdamant tracks Dragonfly upstream and focuses on PMMP parity on top. The codebase keeps Dragonfly’s structure and API conventions to make contributing straightforward.\n\nUpstream docs: https://pkg.go.dev/github.com/df-mc/dragonfly/server\n\n## Contributing\nContributions are welcome! Please open issues/PRs with focused changes. If you’re proposing PMMP‑parity features, include examples and behaviour references. \n\nThanks to the df‑mc maintainers and community for the excellent base.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdm-vev%2Fadamant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdm-vev%2Fadamant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdm-vev%2Fadamant/lists"}