Tags
Creators
Details
Licensed ARR
Published 3 years ago
Updated last month
All versions
2.17.0
Release
Structure Gel API v2.17.03 years ago 189
Uploaded by
Compatibility
Minecraft: Java Edition
1.20.4
Platform
NeoForge
Supported environments
Client and server
Changes
1.20.4-v2.17.0
Ported to 1.20.4 and now on NeoForge
General Changes
- Removed old
IForgeRegistrymethods. Vanilla registries are used now.
Registries
- All custom registries have been moved to proper NeoForge registries stored within
com.legacy.structure_gel.api.registry.StructureGelRegistriesand their respective events have been removed.- DataHandlerType
- LootTableAlias
- DynamicSpawnerType
- JigsawCapabilityType
Registrar
- General optimizations to registry behavior. Removed a number of redundant checks.
RegistrarHandler.BlockHandlerreturnsRegistrar.BlockRefinstead ofRegistrar.Static.BlockRefimplementsItemLikeand has adefaultBlockState()method.
- Added
RegistrarHandler.ItemHandler- Similar to
BlockHandlerbut specific to Items. - Creates
Registrar.ItemRefinstead ofRegistrar.Static.ItemRefimplementsItemLikeand has adefaultInstance()method.
- Similar to
- Removed
RegistrarDatapackEntriesProvider- Use
new DatapackBuiltinEntriesProvider(packOutput, gatherDataEvent.getLookupProvider(), RegistrarHandler.injectRegistries(new RegistrySetBuilder()), Set.of(my_mod_id));
- Use
- Added
@RegistrarHolder- Class annotation that allows Structure Gel to find and load
RegistrarHandlerfields within it. RegistarHandlers must bepublicandstaticto be accessible. An exception will be thrown if this is not the case.RegistarHandlers are registered duringRegisterEventduringEventPriority.HIGHEST. If you haveRegisterEventlisteners at this priority, mod load order may prevent this from working properly.
- Class annotation that allows Structure Gel to find and load
Jigsaw Capability
- Recieved a major refactor to better organize the data.
JigsawCapability.IJigsawCapability->JigsawCapabilityJigsawCapability.JigsawType->JigsawCapabilityType
Building Tool
- Added Fuzzy as an option to the Extend tool.
GelPortal block
- Thanks to
BlockTypecodec requirements, this is now an abstract class.- The
GelTeleporterfactory that was previously passed as an argument is now an abstract methodgetTeleporter(ServerLevel, GelPortalBlock)
- The
- Now has some handling for when the Axis property isn't present to allow not including it.
Data Handlers
- Fixed text boxes not always losing focus in the GUI.
- Tab-navigation no longer autocompletes the first option for text boxes that suggest a field if nothing was typed.
- Control + Pick Block now also copies if the block was waterlogged and if it should connect to other blocks.
- Updated hover-tooltips (see below).
Rendering
- Updated how hover-tooltips work for Jigsaws, Structure Blocks, and Data Handlers.
- The display name now renders with transparency, so it doesn't get cut off when it goes into a block.
- The display name also adjusts its offset according to what side of the block you're looking at, and if that side of the block is exposed.
Commands
- Added
/structure_gel nvto toggle night vision- Has optional arguments for players and if the effect should be added or removed
Misc Internal Changes
- Mixins are now located in their own package based on environment side.
client,common, andserver(unused currently)
- Packets are now located in their own package based on direction.
c_to_s,s_to_c, andbi_directional
- Redid several mixins to utilize MixinExtras for better cross-mod compat.
ExtendedJigsawPlacementhas been removed. All logic is handled through mixins to the vanilla JigsawStructure and JigsawPlacement.GelTemplatehas beem moved to the api package.
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:T8TGycIQ:czn0eUba"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:T8TGycIQ:czn0eUba"
}

