Databank
Overview
Databank is a library mod. It contains random, mostly rendering related libraries and utilities, as well as sound utils, data-driven multiblocks, block hiding, and music. These last three can be leveraged by modpacks if they so wish.
Feature Highlights
Notable features may include...
Databank Models
Databank allows for dynamically-animated block, item and entity models which support meshes. A Blockbench plugin is provided to generate Databank models. As a bonus, such models are resource packable.
Hidden
Data-driven hiding of blocks and items in the world as other blocks until certain conditions are met. A few built-in conditions for hiding are available - advancements and logical operators (AND, OR, NOT). More conditions and more hidden types can be easily added in your mod.
Post Processing Shaders
Databank adds its own loader for post processing shaders.
Multiblocks
Databank multiblocks are defined in json similarly to recipes, composed of a pattern and a key. They support tag- and blockstate matches.
Music System
Data-driven music playing, mostly tailored to boss themes and similarly looping music. Also includes a few OpenAL helpers for precise sound timing.
World Guis
A special system for rendering using a GuiGraphics and accepting per-pixel clicks in-world
Megablocks
Simple creation of blocks which take up multiple blocks of space
Megastructures
A special feature which allows you to save builds as json and spawn them in-world using code without any size limit
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 13d ago | 1 | ||||
| 6mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- Migrated AnimatedBlockItemUtil from Halcyon to Databank
### Changes
- Disabled automatic model version upgrading. The game will crash/freeze on load if outdated models are present. Update your models!
### Fixes
- Blacklisted all known Databank-dependent mods from Dark Mode Everywhere
- Moved interface for dynamically modifying item attributes from DnE to Databank
- Added a system for special conditions
- Added support for armatures in databank models
- Added utilities for stretched blits and nine slices
- Added a dialogue system
- Added a small utility for conversion between Rotation and Direction to DatabankUtils
- Added utilities for modifying the data of offline players
- Added utilities for instanced dimensions
### Changes
- Modified the databank model format; if you are a developer, please run the python script in the databank github to update your models
- Changed BasicMegablockCores to take in a BlockState in the getRotation method
### Fixes
- Fixed an issue where inflation on models would be inverted on y axis
- Fixed Megastructure logging error saying it was music controllers
- Fixed BasicMegablockCores not using the rotated shape when checking if it can place
- Fixed it being difficult to change the placement block state for BasicMegablockCores
- Fixed an issue where the BasicMegablockRouter would not properly set the "core" variable
- Made model renderers able to see the instance of the object when getting the model
### Changes
- Significant performance improvements for the hidden system (KhloeLeclair)
### Fixes
- Fixed Megastructures not properly saving block entities
- Fixed Megastructures failing to save if the bounds weren't defined in a specific way
- Added some util methods in ClientDatabankUtils for buffer source copy creation
- Added some util methods in ClientDatabankUtils for getting the currently used render buffer
- Added AFTER_HAND render stage
- Added the ability to define the render stage your shader should apply during
- Made post process shaders only get their uniforms if they are active
### Fixes
- Fixed impact frames not working until game resized for first time
- Fixed resize helpers not calling if a resize happens too early
- Added util for impact frames
- Added util for screenshake
- Added util for calling code when game resized
- Added fade method in both DoubleGradient and FloatGradient
- Added instant gradient points, these will instantly change instead of fading
- Added getTime method to shader instances which will include the partial tick
- Made in-game config editor appear
- Added accessibility options to config
- Added utils for calling code when your mods version changes for a level or player
- Fixed a crash if something is hidden as itself
- Improved client performance
- Added a method to hidden types that is only called when the client receives hidden data
- Added a util method to DatabankUtils for changing an items type
- Added a util method to ShaderHelper that checks for sodium OR sodium alternatives
- Added a config to forcibly enable/disable alternate chunk reloading logic from hidden blocks and alternate hidden colors logic
### Fixes
- Fixed sodium/embeddium breaking colors on hidden blocks/items
- Added the ability to send a trail somewhere else to handle what's left of it so that trails can be made to not just disappear
- Added the ability to automatically have a trail tick
- Added a small utility for rendering text on screen for debug purposes
- Added a method for checking how many positions a trail has
- Added a method for getting a position that a trail has stored
### Changes
- Improved ColorGradient fadeAlpha so that it creates points at the start and end positions so that the fade is always proper
- Made TrailRender throw an exception if you try to use more segments than time
- Added a reset method to trails
- Tweaked color gradient fading to multiply the values instead of just setting them
- Hopefully finally fixed CMEs
- Protected against CMEs more, now it shouldn't crash on reload
- Added null check to SoundUtil.getTime to avoid a NPE
- Fixed trails not shrinking if the trail is not moving
- Added utils for gradients
- Added Chinese translation (ChuijkYahus)
### Changes
- Made trails use gradients instead of a single color
- Improved trails
### Fixes
- Fixed a concurrent modification exception
- Fixed mesh rotations
- Made server methods redirect to the client methods in a few places
- Fixed transparent and additive render types
### Additions
- Added utils for rendering trails (will get improved later)
- Added overrides to hidden block types
- Implemented block shapes being the same as the hidden block
- Added isVisible methods to block hidden types and item hidden types
- Added the ability to listen to when things are hidden/unhidden
- Added some useful advancement utils
- Added the has_advancement and has_advancements advancement criteria
### Fixes
- Made hidden blocks properly catch errors with json
- Fixed hidden blocks not updating if the advancement didn't have a display
- Fixed Crash when getting loot from mining a block that is hidden as itself
- Fixed Crash when hiding a block or item as itself
- Added methods you can override to change lighting and overlay on specific parts of models
- Added a method you can override to disable shading on specific parts of models
- Added some utils for messing with sounds and directly using OpenAL instead of the layers minecraft has over it
### Changes
- Moved some methods to a more fitting place
### Fixes
- Fixed world guis showing their details in jade
- Fixed lighting on models for hopefully the final time
- Fixed a multiblock crash bug
- Added the ability to make world guis have a higher quality without affecting placement
### Changes
- Made animation states getTime method public
### Fixes
- Fixed world gui components not handling right clicks on server properly
- Fixed world guis not properly removing components on the client that were removed on the server
- Removed a small leftover piece of code that does nothing
- Fixed resourcepacks being unable to add music controllers with a custom sound
- Fixed shaders being weird if a vanilla mc shader was active
- Fixed collision test cubes not working properly if it wasnt a full cube
- Fixed models having a small issue with z positioning in animations
- Fixed lighting on meshes
- Added a utility class for handling rotated cube collision
### Fixes
- Fixed models having a lot of jankiness which made them difficult to get working properly
- Fixed models potentially crashing dedicated servers
- Added the "databank:actual_player" and "databank:always_true" hidden conditions
- Added "drop_original_loot_condition" to block hidden types
- Added "should_overwrite_loot_if_hidden" to block hidden types
### Changes
- Made hidden conditions require a stream codec to properly send data to client