Tags
Creators
Details
Licensed AGPL-3.0-or-later
Published 3 years ago
Updated 2 years ago
All versions
2.0.0
Release
Astral 2.0.02 years ago 527
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Fabric
Supported environments
Client and server
Required content
Any compatible version
Any compatible version
Any compatible version
Any compatible version
Changes
Essentially a rewrite of v1.*, adding/updating heaps of documentation and refactoring the entire codebase.
Internal changes
- All code is now within
dev.jaxydog.astral, instead ofdev.jaxydog. - Updated access widener entries.
- Fixed some possible crashes.
- Updated dependency versions.
- Updated mod entrypoints.
- Added
isInitializedmethods for each environment. - Verified that each entrypoint is only initialized once.
- Added
- Updated registration system.
- Move
GeneratedintoRegistered. - Rename multiple usages of
dataGeninto variants ofgenerator. - Rename
getRegistryIdPathtogetRegistryPath. - Rename
registertoregisterCommon. - Moved all registered maps into
dev.jaxydog.register - Streamlined
RegisteredMapimplementation. - Added the
RegistrationPriorityannotation, which allows for complete control over the order in which fields are registered.
- Move
- Updated item content structure.
- New
LoreHolderinterface. - New
BowlItemclass. - Move
BottleItem,Colored, andCustomizedintodev.jaxydog.astral.content.item. - Rename all
Custom*Itemclasses (excluding theCustominterface itself) toAstral*Item. - The
Customizedinterface'sgetCustomModelDatamethod now returns anOptional. - Item groups have been moved to
dev.jaxydog.astral.content.item.group. - Item groups have been renamed from
Custom*ItemGrouptoAstral*ItemGroup. - All item classes have been slightly refactored.
- Rewrote the entire
Sprayableinterface into the newSprayedinterface. - Instances of
Sprayablehave undergone major refactors. - Renamed cloud armor to cloudy armor.
- New
- Updated block content structure.
- Rename all
Custom*Blockclasses toAstral*Block. - Move
Coloredintodev.jaxydog.astral.content.block. - Renamed "Dyeable" amethyst to "Dyed" amethyst.
- Simplify dyed amethyst colorization.
- Rename all
- Updated sound content structure.
- Added
SoundContextrecord class.
- Added
- Vastly improved color and image manipulation support.
- Refactored
ColorUtilinto a newutility.colorpackage. Rgbnow stores its components as bytes.- Created a new
Rgbaclass for transparency support. - Created new Mapper classes for storing color manipulation methods as lambdas / records.
- Created
ColorHelper, which is based off of the oldColorUtilclass.
- Refactored
- Slightly refactored the mob challenge system.
- Renamed the utility interface to
ChallengeHelper.
- Renamed the utility interface to
- Updated power content structure.
- Removed deprecated powers.
- Updated data structure.
- Renamed some fields and methods within the
MoonPhasedata type. - Moved custom classes into the
custompackage. - Added support for automatically registered data loaders.
- Refactored currency implementation to better match other implementations within the mod.
- Renamed some fields and methods within the
- Updated effect content structure.
- Updated sound content structure.
- Updated trinkets content structure.
- Updated powers content structure.
- Cleaned up and documented all mixins.
Content changes
- Updated contribution guidelines.
- Spray bottle block interactions now retain block state where able.
- Challenge scaling distance calculations now ignore height differences.
- Cobbled sandstone is now mineable with a pickaxe.
- Add some custom models for lore.
- Fixed a bug that allowed players to receive chocolate milk from red mooshrooms.
- Fixed a bug that caused sugar cane to be bone-mealed into a cactus block.
- Added recipes for multiple lore items.
- Add Nix's ears.
Supplementary resources
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:JS9OalAg:GQHwKcGZ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:JS9OalAg:GQHwKcGZ"
}

