
📖 About:
Blueprint is a mod library designed to make it easier to access code shared across most Team Abnormals mods, but anyone is allowed and encouraged to use it! It has many valuable features, such as a registry helper, data syncing, various data-driven modification systems, a biome API, a trim material API, the Endimator animation API, and much more!

💻 For Developers:
Adding Blueprint to your mod is quite simple!
First off, you need to add Blueprint as a dependency to access the library in code. To do so, add the following to your build.gradle:
repositories {
maven {
url = "https://maven.teamabnormals.com"
}
}
dependencies {
implementation("com.teamabnormals:blueprint:<version>")
}
Replace <version> with the desired version of Blueprint, including the desired version of Minecraft.
For example, 1.21.1-8.0.0 yields blueprint-1.21.1-8.0.0.jar.
Next, you must add it as a dependency on NeoForge to make your mod require Blueprint when loading. In your neoforge.mods.toml, add the following block to the file:
[[dependencies.<modId>]]
modId = "blueprint"
type = "required"
versionRange = "[<version>,)"
ordering = "AFTER"
side = "BOTH"
Replace <version> with the desired version of Blueprint.
For example, 8.0.0 will target version 8.0.0 of Blueprint.
The code block above for the neoforge.mods.toml file targets the selected version and any subsequent versions. If you want to target it differently, you may want to read up on the neoforge.mods.toml spec.


All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 |
- Simplified modded biome slices initialization code
- Remolded resource streams are no longer single-use (fixes some rare incompatibilities)
- Removed mixin synthetic args class-loading dummy
- Modded biome slices are now faster at high slice counts
- Added an event for modifying slices right before they get assigned to dimensions
- OverlayModdedBiomeProvider now supports choosing which "underlay" biome provider it uses
- Added finalize(...) method to ModdedBiomeProvider so custom types can initialize generation data that is server-data-dependent
- Remolded resource streams are no longer single-use (fixes some rare incompatibilities)
- Simplify modded biome slices initialization code
- Made "original" slices easier to configure
- Disable and deprecate unused stepping event
- Force ModdedBiomeSource to never save
- Made remolder ordering deterministic
- Fixed world creation hanging when using Blueprint together with ModernFix
- Fixed Experimental Settings toggle not fully working
- Fixed ReloadableServerResourcesMixin preventing other mods from inserting reload listeners
- Fix minor missing function call in BlueprintBoatItem
- Extended Remolder capabilities significantly
- Added support for Advancement remolders
- Added a small temporary prompt for Slabfish Plush campaign - [consider supporting here, we have until May 11th to hit our goal!](https://www.makeship.com/petitions/slabfish-plush)
- Fixed BlueprintTrade price multiplier being incorrect
- Fixed Thatch Stairs models
- Fixed a minor potential repaletter bug
- Fixed rare Tracked Data ID mismatches on servers (packet/payload error)
- Use capabilities for inventories, fixing issues with Blueprint chests not working with item insertion/extraction
- Fixed incorrect shift key functionality in BlueprintDirectionalBlock
- Marked unneeded tags for removal
- Refactored BlueprintTreeFeature to be thread-safe
- Reimplemented BlueprintItemTier
- Removed BlueprintCauldronInteraction due to redundancy
- Fixed clients being unable to connect to servers
- Fixed config spamming log files
- Changed Modded Biome Slice Size config to a datamap instead
- Added versions of weighted and simple structure repaletters that take tags
- Added some structure repaletter datagen utils
- Added some other misc datagen utils
- Added DynamicItemModel
- Updated GlobalStorage
- Updated DataUtil#registerDecoratedPotPattern
- Added BetterNoiseBasedCountPlacement
- Added LevelDataReceivers
- Made alphabetical insertion more robust
- Improved EggLayer interface
- Added a tag for blocks that connect blocks when moved by pistons (slime block, honey block) - no functionality, used for logic
- Added BetterNoiseBasedCountPlacement
- Added LevelDataReceivers
- Made alphabetical insertion more robust
- Added more Structure repaletter utilities
- Added non-flammable wood to the furnace fuels datamap
- Fixed some recipe datagen issues
- Fixed Chiseled Bookshelf utils missing
- Refactored Remolder a bit
- Added a config to hide all Slabfish hats
- Ported to NeoForge 1.21.1
- Added Structure Repaletter Conditions and Instancing
- Replaced Loot Modifiers with utility methods for Loot Remolders
- Added and removed some tags
- Fix a Forge/NeoForge issue with finalizeSpawn
- Fix Blueprint Trim Materials not rendering on items on servers
- Fix some missing Piston push reactions
- Fix sometimes being able to load a world after removing Blueprint
- Fix a rare crash with loot modifiers
- Added BlueprintTrims, an API for adding Trim Materials, Trim Patterns, and Trimmable Armor in a compatible way
- Added BlueprintBlockStateProvider, BlueprintItemModelProvider, BlueprintRecipeProvider, and BlueprintLanguageProvider for some baseline datagen utils
- Reworked Blueprint's system for adding new Rabbit variants
- Implemented EggLayer interface to help mods integrate their egg laying animals together better
- Added various tags to help categorize some blocks, items, and damage types
- Simplified Remolder pack targeting
- Added BlockSetType registry helper
- Fixed issues with Chiseled Bookshelves
- Added a better paletted permutations system that uses a directory
- Added some registry helper method overloads for boats and chests
- Added Chiseled Bookshelves to property util
- Added support for mob heads in CustomNoteBlock instruments




















