{"id":22203843,"url":"https://github.com/stevertus/objd","last_synced_at":"2025-04-07T19:14:22.328Z","repository":{"id":44354170,"uuid":"168956869","full_name":"Stevertus/objD","owner":"Stevertus","description":"objD is a framework for developing Datapacks for Minecraft. It uses the Dart programming language.","archived":false,"fork":false,"pushed_at":"2024-10-04T21:04:23.000Z","size":1210,"stargazers_count":47,"open_issues_count":6,"forks_count":13,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-07T19:14:17.418Z","etag":null,"topics":["commands","dart","datapack","framework","generator","mapmaking","minecraft"],"latest_commit_sha":null,"homepage":"https://objd.stevertus.com","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Stevertus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-02-03T14:57:58.000Z","updated_at":"2024-12-05T08:56:55.000Z","dependencies_parsed_at":"2025-01-16T01:08:54.694Z","dependency_job_id":"f1c3f232-c355-4ab1-a688-4305cf8236f9","html_url":"https://github.com/Stevertus/objD","commit_stats":{"total_commits":152,"total_committers":8,"mean_commits":19.0,"dds":0.07236842105263153,"last_synced_commit":"8633882c78e1643277dab6cdaf5c5fcdd26035c0"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stevertus%2FobjD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stevertus%2FobjD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stevertus%2FobjD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stevertus%2FobjD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Stevertus","download_url":"https://codeload.github.com/Stevertus/objD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247713258,"owners_count":20983683,"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":["commands","dart","datapack","framework","generator","mapmaking","minecraft"],"created_at":"2024-12-02T17:14:38.075Z","updated_at":"2025-04-07T19:14:22.297Z","avatar_url":"https://github.com/Stevertus.png","language":"Dart","readme":"# objD\n\n### **O**bjective **B**uilder **J**ust for **D**atapacks\n\n[objD](https://objd.stevertus.com) is an object oriented toolkit for building/generating Datapacks for Minecraft. It uses the [Dart](https://www.dartlang.org/guides/language/language-tour) programming language and thus integrates into popular editors like [Visual Studio Code](https://code.visualstudio.com) or [IntelliJ](https://www.jetbrains.com/idea/).\n\nYou are able to write **modular** Datapacks, get suggestions with **linting**, **auto completion**, extensive [documentation](https://objd.stevertus.com) and **syntax highlighting**.\n\nNo need to remember which parameters commands take, automatic checking of your code and a ton of [utility widgets](https://objd.stevertus.com/utils/) help you to get more efficient creating Datapacks.\n\n## Resources\n\nobjD has many components. But there are a few things that can accelerate your start.\n\n- [Introductory Video](https://youtu.be/0GfuCUNI1pw) showing everything from project structure, editor setup to installation.\n- [Officical Documentation](https://objd.stevertus.com)\n- YouTube [Playlist](https://www.youtube.com/playlist?list=PL5AxRIlgrL5GnKz69w4AUyqpZC35BlxdD) containing over 40 videos on best practices, widgets, generators and more.\n- Starter Guide as written form: https://objd.stevertus.com/guide/\n- [Discord Server](https://discord.gg/mKFrqfA) for general questions and interaction\n- GitHub [Discussions](https://github.com/Stevertus/objD/discussions) for ideas, issues and questions\n\n## Installation\n\nYou need the Dart SDK for this library. Download and install it from https://www.dartlang.org/tools/sdk\n\nI would also recommend Visual Studio Code along with the [dart plugin](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) to edit dart files very conveniently.\n\nTo get started, it is the easiest to use the _objD CLI_ for generating a sample project, make small changes and let it run with hot reload.\n\nInstall it using\n\n```bash\ndart pub global activate objd_cli\n```\n\nYou can then invoke the new command to create your project, follow the instructions:\n\n```bash\ndart pub global run objd_cli new \u003cproject_name\u003e\n```\n\nGo into the created directory `cd \u003cproject_name\u003e` and to install all dependencies run \n\n```bash\ndart pub get\n```\n\nFor further explanations, refer to the [Intro Video](https://youtu.be/0GfuCUNI1pw), where this is presented in depth.\n\n## Example\n\nobjD is all about nesting, abstracting the sequential nature of commands into so called [Widgets](https://objd.stevertus.com/basics/#widget) and allowing powerful combinations.\n\n```dart\nFor(\n  from: 0,\n  to: n,\n  create: (i) =\u003e ArmorStand(\n    Location.rel(x: i.toDouble()),\n    name: TextComponent(\"Number $i\"),\n    nameVisible: true,\n    pose: Pose(\n      head: [360 * i / n - 180],\n    ),\n  ),\n),\n```\n\nThis simple example creates n armor stands(depending on a variable) each with custom names and pose.\n\nWhere in vanilla commands you would have to change multiple commands, this approach is **flexible** and can easily controlled by parameters.\n\n\n## Updating \n\nWhen updating to a new version, change the version tag of objD in the `pubspec.yaml` file.\n\u003e *Note:* also make sure the dart version requirements match the version requirements of objD. For 0.4.5 onwards, Dart `3.0.0` is required.\n\n```yaml\nname: \u003cproject_name\u003e\n\nenvironment:\n  sdk: \"\u003e=3.0.0 \u003c4.0.0\"\n\ndependencies:\n  objd: ^0.4.7\n\ndev_dependencies:\n  build_runner:\n  objd_gen: ^0.0.4\n\n```\n\n## Contributing \u0026 Bugs\n\nNew and fresh ideas are always welcome and greatly appreciated. Please create a [pull request](https://github.com/Stevertus/objD/pulls)to organize new additions.\n\nBugs can be reported using [GitHub Issues](https://github.com/Stevertus/objD/issues).\n\nHuge thanks to everyone who participated and made objD a better tool ❤.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevertus%2Fobjd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevertus%2Fobjd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevertus%2Fobjd/lists"}