https://github.com/stevertus/objd-docs
The official documentation for projects
https://github.com/stevertus/objd-docs
Last synced: about 1 year ago
JSON representation
The official documentation for projects
- Host: GitHub
- URL: https://github.com/stevertus/objd-docs
- Owner: Stevertus
- Created: 2019-09-01T19:05:56.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-06T23:14:47.000Z (over 2 years ago)
- Last Synced: 2025-01-30T04:17:07.186Z (over 1 year ago)
- Language: JavaScript
- Size: 3.99 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changes/README.md
Awesome Lists containing this project
README
---
home: true
heroImage: /logo.png
title: ObjD
actionText: Get Started →
actionLink: /guide/
features:
- title: IDE tooling
details: "Use all the powerfull IDE tools of Dart: Autocompletion, Inline Documentation, Linting, Formatting... Directly in intelliJ or vsCode"
- title: Comfort
details: objD generates Scoreboards, setup files and namespaces by itself and provides a high level API
- title: Expand
details: You can build your own Widgets, customize arguments and create your own APIs using the tools that objD gives you.
footer: MIT Licensed | Copyright © 2022 Stevertus
---
## Program Datapacks!
Use a programming language to generate Datapacks and benefit from the unlimited enhancements.
# A simple project, in a few lines:
```dart
import 'package:objd/core.dart';
@Prj()
final example = NamespacePack();
@Pck(load: 'load')
final namespace = [LoadFile];
@Func()
final load = Log('Reloaded!');
```
## objD is build upon Modules
Each part of a Datapack is seperated into Widgets. A Widget can be a simple Command, a group of Commands, whole Files or Packs.
## 70+ Included APIs and Widgets
objD features a lot of in-built Widgets, like [Basics](/basics)(Pack, File, Entity, Group) all the [Commands](/wrappers), [Text Generators](/texts) and Utils, like Timers, RNG, Raycasting and Loops.
Get all the information that you need in this youtube series:
### Simple Click Counter Example:
```dart
import 'package:objd/core.dart';
@Prj(name: 'folder name')
final example = Pack(
name: 'mypack',
modules: [
ClickEvent(
name: 'onclick',
onClick: Score(Entity.Self(), 'counter') + 1,
)
],
load: LoadFile,
main: MainFile,
);
@Func()
final load = Log('Runs on Load');
@Wdg
Widget showTitle(String text) => Title(
Entity.All(),
show: [TextComponent(text, color: Color.Red)],
);
@Func()
final main = If(
Score(Entity.Self(), 'counter') >= 10,
then: [
ShowTitle('clicked ten times!'),
Score(Entity.Self(), 'counter').reset(),
],
);
```
## Installation
Get started today by installing objD and playing around.
Or
[Contribute on GitHub](https://github.com/Stevertus/objD)
## Get Connected With the Community and get Updates
## Changelog of all the recent additions
## 0.4.7
- added arguments methods on context to generate macro commands introduced in 1.20.2
- added Random Widget
- added Return.run and Return.fail subcommands
- added supportedFormats and packFormat to Project, default version is now 20.4
- added arguments field for File.execute to run functions with arguments
- updated blocks, items, particles and entities to include content from 1.20.4 and 23w51b
- updated documentation links to the new minecraft wiki https://minecraft.wiki (thanks @Spongecade)
- fixed Entity to introduce a trailing comma when given empty tags
- fixed Entity.Clone to deep copy, instead of shallow copy (thanks @CCpcalvin)