90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...

1.20.4-v2.19.1

Data Handler

  • Fixed cycle buttons in the GUI not starting at the correct default value
  • Made adding StringRepresentable enums to the parser easier

Building Tool

  • Fixed the selection edit screen not hovering buttons correctly

1.20.4-v2.19.0

Building Tool

  • Can now set if blocks placed will cause block updates or not
    • This also supresses block and fluid ticks that occur when the block is placed (water won't flow, sand won't fall)
  • Each mode shows up in the creative mode search tab
  • The Building Tool palette screen no longer serializes default block state values when re-opening the screen
    • If an oak log was set in the palette, it would previously display as minecraft:oak_log[axis=y], even if the axis property was left as the default. It will now display minecraft:oak_log in that case. This is especially visible with blocks that have a large number of states, such as fences
  • Building Tool block palettes can be exported as a Block Palette item. This item can be dropped onto the Building Tool, like how you'd use a bundle, to set the palette.

Fill Tool

  • Fixed the Retain State property not functioning as expected
  • Retain State has been renamed to Copy States
    • When True (default): Copies applicable block state values from the replaced block to the block being placed. This means stairs/slabs/fences/etc will have the same block states when replaced.
    • When False: Places the block without any modifications. This is similar to the vanilla fill command.

Replace Tool

  • Added the Copy States property
    • Defaults to true

Clone Tool

  • Fixed pasted regions being hollowed out
  • Can now also handle entities
  • Improved the handling of internally saving captured regions for the Clone tool
    • Regions with the same bounding box are not saved more than once. Only the latest copy will be saved
    • This prevents multiple copies of the same selected region from completely filling your clipboard
    • This breaks old clipboard data
  • Pressing ctrl + c in game while holding the clone tool will manually re-copy the selected region
  • Pressing ctrl + v in game while holding the clone tool will paste the copied region
    • This does not replace left click, it's just an alternative button press
  • Improved the compile time of the render-preview
  • If a render preview takes longer than 8 seconds to compile (freezing the game client in the process), the preview will be aborted. This timer can be adjusted in the config.

Move Tool

  • Can now also handle entities

Commands

  • Dramatically optimized the time to find Structure Blocks when using /structure_gel savestructures search
  • Added /structure_gel debug
    • This will be used for miscellaneous commands that have a very specific function and won't need to be used often, if at all
    • Currently used for /structure_gel debug update_structures_to_structure to update the file location in a Structure Block to the 1.21 format where the structures folder is renamed to structure (if applicable). It does so by finding and replacing the first instance of :structures/ with :structure/ in the resource location. This uses the exact same syntax as /structure_gel savestructures
  • Commands affecting Structure Blocks display a Redstone Torch particle above the affected blocks
  • Added /structure_gel ? to display the basic function of the other sub-commands

Structure Blocks

  • The Show Invisible Blocks option allows selecting which blocks to show
    • The Show Invisible Blocks option can dramatically decrease your fps on large selections. This can help by only showing what you care about.

Misc

  • Made a number of GUI changes to improve mouse scrolling and hovering
  • Some GUIs have tooltips when elements are hovered over
    • Dynamic spawner labels give extra info
    • The Building Tool palette screen gives info when hovering over the item icon for a block

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


Project members

Modding Legacy

Modding Legacy

Organization

KingPhygieBoo

Contributor

SilverDavidMC

Programmer

Details

Licensed ARR
Published 2 years ago
Updated 6 months ago