All your favorite generators in one place: Raycasting, Title, Book, Nbt, Entity, and much more Generators
objD generates Scoreboards, setup files and namespaces by itself and provides a high level API
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(); () 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
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(), ], );
Get started today by installing objD and playing around.
# Get Connected With the Community and get Updates
# Changelog of all the recent additions
- added Folder Widget to dynamically create folders. All Files and Rawfiles in the child marked with inheritFolder will choose this folder as a default
- added Textcomponent.none for the edge case that you want to clear a previous set text
- added predicate parameter to Selector
- added Scoreboard.modify(whoever uses that)
- added self, all and player getters on a Scoreboard to easily use the most common score entities
- added path argument to Context to retrieve the current path set by Folders
- added a check to help to not exceed the 16 char limit on scoreboards
- added additional metrics to measure project generation
- updated all blocks, items and particles to include additions in 21w11a
- migrated to null safety, read more here: https://dart.dev/null-safety
- refactored apis, arrangement of required values and nullable types
- refactored filepaths and path concatenation
- changed dependencies (removed meta and changed colorize to ansicolor)
- fixed Area generating NULL instead of 0 by default
- fixed triggering hotreload if only properties on project changed and refactored mechanics