ObjD
objD is a framework for developing Datapacks for Minecraft.
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.
OrContribute 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)