Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Structure Gel API

Structure Gel API

An API for simplifying the developer end of creating generated structures.

1.48M
83
Utility
AboutGalleryChangelogVersions
All versionsStructure Gel API v2.17.0

Structure Gel API v2.17.0

Download
Report

Changelog

1.20.4-v2.17.0

Ported to 1.20.4 and now on NeoForge

General Changes

  • Removed old IForgeRegistry methods. Vanilla registries are used now.

Registries

  • All custom registries have been moved to proper NeoForge registries stored within com.legacy.structure_gel.api.registry.StructureGelRegistries and their respective events have been removed.
    • DataHandlerType
    • LootTableAlias
    • DynamicSpawnerType
    • JigsawCapabilityType

Registrar

  • General optimizations to registry behavior. Removed a number of redundant checks.
  • RegistrarHandler.BlockHandler returns Registrar.BlockRef instead of Registrar.Static.
    • BlockRef implements ItemLike and has a defaultBlockState() method.
  • Added RegistrarHandler.ItemHandler
    • Similar to BlockHandler but specific to Items.
    • Creates Registrar.ItemRef instead of Registrar.Static.
      • ItemRef implements ItemLike and has a defaultInstance() method.
  • Removed RegistrarDatapackEntriesProvider
    • Use new DatapackBuiltinEntriesProvider(packOutput, gatherDataEvent.getLookupProvider(), RegistrarHandler.injectRegistries(new RegistrySetBuilder()), Set.of(my_mod_id));
  • Added @RegistrarHolder
    • Class annotation that allows Structure Gel to find and load RegistrarHandler fields within it.
    • RegistarHandlers must be public and static to be accessible. An exception will be thrown if this is not the case.
    • RegistarHandlers are registered during RegisterEvent during EventPriority.HIGHEST. If you have RegisterEvent listeners at this priority, mod load order may prevent this from working properly.

Jigsaw Capability

  • Recieved a major refactor to better organize the data.
    • JigsawCapability.IJigsawCapability -> JigsawCapability
    • JigsawCapability.JigsawType -> JigsawCapabilityType

Building Tool

  • Added Fuzzy as an option to the Extend tool.

GelPortal block

  • Thanks to BlockType codec requirements, this is now an abstract class.
    • The GelTeleporter factory that was previously passed as an argument is now an abstract method getTeleporter(ServerLevel, GelPortalBlock)
  • 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 nv to 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, and server (unused currently)
  • Packets are now located in their own package based on direction.
    • c_to_s, s_to_c, and bi_directional
  • Redid several mixins to utilize MixinExtras for better cross-mod compat.
  • ExtendedJigsawPlacement has been removed. All logic is handled through mixins to the vanilla JigsawStructure and JigsawPlacement.
  • GelTemplate has beem moved to the api package.

Files

structure_gel-1.20.4-2.17.0.jar(954.04 KiB) Primary
Download

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Metadata

Release channel

Release

Version number

2.17.0

Loaders

NeoForge

Game versions

1.20.4

Downloads

124

Publication date

January 11, 2024 at 7:10 PM

Publisher

SilverDavidMC

SilverDavidMC

Programmer

Version ID

Modrinth is open source.

main@599f23c

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.