hero

ObjD

objD is a framework for developing Datapacks for Minecraft.

Get Started →

IDE tooling

Use all the powerfull IDE tools of Dart: Autocompletion, Inline Documentation, Linting, Formatting... Directly in intelliJ or vsCode

Comfort

objD generates Scoreboards, setup files and namespaces by itself and provides a high level API

Expand

You can build your own Widgets, customize arguments and create your own APIs using the tools that objD gives you.

# Program Datapacks!

Use a programming language to generate Datapacks and benefit from the unlimited enhancements.

# A simple project, in a few lines:

import 'package:objd/core.dart';

()
final example = NamespacePack();

(load: 'load')
final namespace = [LoadFile];

()
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(Pack, File, Entity, Group) all the Commands, Text Generators and Utils, like Timers, RNG, Raycasting and Loops.

Get all the information that you need in this youtube series:

# Simple Click Counter Example:

import 'package:objd/core.dart';

(name: 'folder name')
final example = Pack(
  name: 'mypack',
  modules: [
    ClickEvent(
      name: 'onclick',
      onClick: Score(Entity.Self(), 'counter') + 1,
    )
  ],
  load: LoadFile,
  main: MainFile,
);

()
final load = Log('Runs on Load');


Widget showTitle(String text) => Title(
      Entity.All(),
      show: [TextComponent(text, color: Color.Red)],
    );

()
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 (opens new window)

# 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)