Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...

Added /structure_gel getfeatures command. Uses the same syntax as getstructures... but for features!

1.20.4-v2.18.0

RegisterArmorTrimTexturesEvent

  • Added registerSprite(ResourceLocation) for registering a direct texture that isn't standard armor with a _leggings suffix.

Building Tool

  • Added more replace options to more tool modes.
  • Added Replaceable as a replace option. Replaces blocks that could be replaced by a player when placing a block, such as short grass and blocks in the #minecraft:replaceable tag.

Fixes

  • The Building Tool and Data Handler no longer allow objects disabled through feature flags.

1.20.1-v2.16.1

RegisterArmorTrimTexturesEvent

  • Added registerSprite(ResourceLocation) for registering a direct texture that isn't standard armor with a _leggings suffix.

1.20.4-v2.17.2

Fixes

Fixed a crash when connecting to servers

1.20.4-v2.17.1

Updated NeoForge version as well as minor updates and fixes.

Building Tool

  • Added the delete key as a keybind for tool modes to use.
    • Currently only used by the fill tool to delete all blocks in the selection.

Fixes

  • Fixed en_us.lang using • instead of \u2022.

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.

1.20.1-v2.16.0

LoadStructureTemplateEvent

  • New event that fires after a StructureTemplate loads.
  • Contains methods to modify the blocks and entities within the template.

Gel Blocks

  • Now automatically perform their function without needing to implement the structure processor or use a specific StructurePiece type.
    • If the processor is already present, it will still use that.
    • This will not be done when loading a template through Structure Blocks or the place template command.

IModifyState

  • Any TemplateStructurePiece that extends IModifyState will now work with it as long as the postProcess method isn't overwritten.

Data Handler

  • All handlers can now mark blocks for post processing in the Properties menu.
    • Useful for making sure water flows after being placed, or updating fence connections for neighboring structures.
    • The position marked for post processing will be the position of the data handler itself, with the applied offset.
  • Added structure_gel:empty as an empty data handler.
    • Its primary function is to set an offset and mark a position for post processing.
    • This is not used by default if the data handler can't be loaded from nbt.
  • Fixed the structure_gel:block_state using structure_gel:chest for its data parser.

Building Tool

  • The Shape tool now has Hollow Cube, Cube Frame, Pyramid, and Cone.
    • Changing the shape now uses a selection panel instead of clicking to cycle to the next value.
  • The Fill tool now supports all the shapes from the Shape tool for fine control over shapes (replaces the old Mode property).
  • The Clone tool now temporarily saves its selected region into a clipboard.
    • This allows for cloning to an area far away, regardless of the source being loaded.
    • The region is not actually saved to the item itself, but rather to an external file in the dimension's data folder..
    • This results in drastic client performance improvements, especially for large selections.
  • The Replace tool now has a "Fuzzy" property that allows only replacing directly attached neighbors or diagonal neighbors.
  • Fixed a number of vertex sorting issues with the Clone tool.
  • Translatable text values in the GUI's now scroll like vanilla options buttons.
  • Action history is no longer stored in a level capability. It has been moved to SavedData files to allow for more dynamic loading.

Block Entities

  • Added IRotatable interface.
    • Allows a block entity to be rotated and mirroed when placed in a structure.
    • Contains void mirror(Mirror) and void rotate(Rotate).
    • Supported by vanilla's StructureTemplate (mixin), GelTemplate, relavent data handlers, and relavent Building Tool modes.

Misc

  • Added an abstract item interface: StructureFinderItem
    • Contains basic methods to get/set located structure info within itself.
  • Improved performance with data handler processing.
  • Some registry events have been deprecated. They will become NeoForge registries in 1.20.4.

1.20.1-v2.15.1

Data Handler

  • Now preserves block state values when giving the player a copy after using the generate button.
  • Fixed item frames potentially causing a world lockup.

1.20.1-v2.15.0

Building Tool

  • Fixed the replace tool not maintaining block states with things like stairs.

Data Handler

  • Added an option for the data handler to not connect to fences, walls, etc.

1.18.2-v2.4.8

  • Fixed a world gen lockup with entity data handlers.

1.20.1-v2.14.0

Building Tool

  • The Flood tool now has a radius and replace property.

    • Replace can be "Air" or "Air and Liquid" and defaults to "Air and Liquid" (was "Air" only).
    • Radius can range from 0-200 and defaults to 80 (was 64).
  • The Extend tool now has a radius and replace property.

    • Replace can be "Air" or "Air and Liquid" and defaults to "Air and Liquid" (was "Air" only).
    • Radius can range from 0-200 and defaults to 80 (was 64).
  • The size of the currently selected region is displayed above the hotbar and in the selection edit GUI.

    • The line tool displays its length instead.
  • The blocks in your current pallete are displayed in the bottom right corner of the screen.

    Gui Update
  • The size of a selection can now be edited in the GUI with text boxes.

    • This assumes you're changing the positive most corner of the selection box. If a full selection box doesn't exist, one will be created from your position, or a point.
  • The line tool selection can be edited by grabbing the "corner" position of the selection points.

  • Holding right and left click allows the building tool to spam operations.

    • Actions that happen as a result of spamming are grouped into one undo/redo.
  • Color coded some text values related to positions.

  • Dramatically improved the visuals of some renders.

    • This also improves performance.
    Rendering updates

General

  • Added more utility methods to VoxelShapeUtil.

Fixes

  • The clone building tool wasn't updating the render when you rotate or mirror.
  • The building tool render wasn't displaying right away when you join a world.
  • Keybinds weren't working when mapped to mouse buttons.

Fixes

  • Fixed an issue that could cause a world lockup when creating an entity through a data handler.

1.20.1-v2.13.1

Data Handlers

  • Data handlers now support position offsets.
    • Position offsets are handled as left, up, and forwards, from the perspective of the data handler.
    • The offset position is rendered in world.
  • Updated the Data Handler GUI to be more organized.
  • Data handlers can be waterlogged in the GUI now.
  • Data Handlers are now in the dragon_immune and wither_immune block tags.

Building Tool Rendering

  • Optimized the rendering logic.
  • Rendering in Shape, Replace, or Clone mode now works with a proper culling system, which should make it look nicer.
  • Renders now have shading to improve their visibility.

Before and After render_update

Fixes

  • Fixed the building tool not working with negative reach values properly.
  • Fixed the building tool's message for the new reach distance showing an incorrect value.
  • Fixed building tool rendering in Fabulous graphics to match fast/fancy.
  • Fixed a crash when a mod's dependency is missing.

Updated to 1.20.1, general code cleanup with deprecated data, armor trims can be registered to the texture atlas.

A full changelog can be found here: https://gitlab.com/modding-legacy/structure-gel-api/-/blob/1.20.1/changelogs/1.20.1-v2.13.0.md

Please Read

This version is accessible on Modrinth primarily for modpack purposes. However, please be aware that this version is no longer supported or updated.

We recommend players to update to the latest version to ensure optimal performance and access to ongoing support. Thank you for your understanding.

Changelog:

A minor updated focused on fixing bugs. Everything here was backported from 1.17. Most notably, this fixes an issue where structures would be extremely rare in negative coordinates.

Full Changelog

External resources



Project members

Modding Legacy

Modding Legacy

Organization

KingPhygieBoo

Contributor

SilverDavidMC

Programmer


Technical information

License
ARR
Client side
required
Server side
required
Project ID