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
returnsRegistrar.BlockRef
instead ofRegistrar.Static
.BlockRef
implementsItemLike
and has adefaultBlockState()
method.
- Added
RegistrarHandler.ItemHandler
- Similar to
BlockHandler
but specific to Items. - Creates
Registrar.ItemRef
instead ofRegistrar.Static
.ItemRef
implementsItemLike
and 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
RegistrarHandler
fields within it. RegistarHandler
s must bepublic
andstatic
to be accessible. An exception will be thrown if this is not the case.RegistarHandler
s are registered duringRegisterEvent
duringEventPriority.HIGHEST
. If you haveRegisterEvent
listeners 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
->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 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 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
, 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.
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
External resources
Project members
Modding Legacy
KingPhygieBoo
Contributor
SilverDavidMC
Programmer
Technical information
License
ARR
Client side
required
Server side
required
Project ID