49e43d3 - gradle importable
7ed2b6e - neoforge renames
bbf77d8 - move AT names from comments [to be verified]
4f1ef00 - more renames
4c6a8fc - MC updates
a59dfee - make gradle clean run before build in gh action
8d39664 - remove reobf from gradle and some other commented bits
c5d1db4 - recipe builders
7001a04 - forge rename - configspec
2f6caee - MC updates
b09834d - plugin update
029d52c - the codec-ification begins
203d3a2 - chemical+stacks codec
d9f8b04 - restore compat with previous json
84707db - add codecs to SerializerHelper
58d59d5 - fromNetwork signature change
0a63fce - switch to neo version of withAlternative so the encoder can use the secondaries
114b19b - remove codec method from wrong interface
702dc6c - ingredient creator codecs
0eeb087 - check stack ingredient serialisers
8c60b1c - move FloatingLong codec into FL class
fb8454a - serializers
2e8c2cf - main module compilable
6e46d30 - remove unused json methods
18ac8e0 - undeprecate the serialize ingredient method
60deddb - fix serializer
7b8cbf7 - datagen MC updates
3c0e6a5 - unported mods datagen compile-only hacks
d10ec66 - mc updates
6a2e3e5 - NG update
299f11f - set loader/neo version/modid
819f297 - move chemical stack codecs so they dont classload the Stack classes too early
2a53d70 - comment out bus subscribe which will break things now
01452cf - fix forge mod id in jsons & update neo
120003c - neo updates
4dc4a96 - more neo mod ids
637ea3e - update datagen coremod
475dd9a - comment out lingering old mods in datagen impl and add modIdentifier to extraSourceSets
d65e73f - Fix errors in tests due to things class loading that don't exist in what classes JUnit loads
cb516d0 - Minor build.gradle cleanup and bump NF and NG version to fix multiple ATs not working
7872fcf - Fix datagen runtime errors
b4edf89 - Cleanup some datagen code by creating an AT file specific for datagen
93b2e97 - Don't create advancement files for recipes with no criteria
4ead4eb - Switch from TagKey.hashedCodec to TagKey.codec for fluid and chemical stack ingredients as the hashtag is redundant
70eef5a - Run datagen
2b1ec9a - Remove no longer necessary min version declarations
9845257 - manually replace forge modid with neo in the compat recipes
ffae97c - fix: itemstack codec missing Count being optional
6629d49 - fix: support the chemical type on the upper level rather than inside the input field on crystalizing recpies
09c5303 - fix: secondary chance validation was wrong way around
979b5b0 - Unify todo format and fix misc porting bugs
6c3c967 - optimize dependent field codec in Crystallizer serializer
62b1eb5 - move serializer specific methods out of the api classes
f049697 - document SerializerHelper and move Slurry Stack codec to be with the rest
c4f3cab - remove deprecated/redundant serialisation
90fe830 - remove some redundant code, move helpers to use the codecs
6d89e8f - fix count being wrong case (Count vs count)
9f7c731 - fix itemstack codec doing nbt in a different way
6f8babc - move network writing out of the recipe api into the serializers
5e89e7c - replace all the things with codecs in serializerhelper
098668a - simple unchecked cast fix
a4e7d5c - minor javadoc fix
cede10c - move basic recipe implementations to separate package, make main classes fully abstract
1c8ad09 - move the rest of the "basic" recipes
0680407 - make recipe types referenceable in the api, use them in recipe classes
13a0790 - chance output docs
48dc4b3 - use plain text group ids for recipes, pull up to super where possible
55fc3bc - move things into Basic recipe classes wherever possible
26024d6 - finalise moving all Basic versions of recipes to the api package
2cc289f - Support using Neo's Registry rewrite
1a529a3 - Refactor our wrapped registration for single layer wrapping to extend instead
21b8665 - Remove IEntityTypeProvider in favor of using holders and slightly reducing registry wrapping further
bf08942 - Remove a wrapper for loot function registration
bfde078 - Re-enable holder based ingredient creator methods
465fa85 - Remove a few more unneeded deferred register wrappers
e761560 - Slightly cleanup fluid registration
58eb08a - Cleanup chunk loaded check and fix packets not being properly handled
8906209 - Disable ProjectE datagen file to fix compile errors until ProjectE updates to 1.20.2+
7a64285 - fix robit skins
0223d22 - Update NeoForge and account for related code changes
62fe3c4 - Manually rename recipe condition key to account for renamed value
6108614 - Update NeoGradle and re-hook up yaml-ops in datagen
fd05eac - Fix forgetting to rename code constant and remove a couple paths
4bfe2c8 - Update deps and update CrT integration to compile against the 1.20.2 Forge CrT version
9adffe7 - Make use of mod constructor parameters
03e919a - Fix uv sprite access
52a15b6 - Update to NeoForge 1.20.2 RB and fix deprecations. Server configs redirection is broken for now
7f887b1 - Fix gameTests not being added to run configs
60b7932 - Fix gametests not running and switch to devtime only ATs rather than reflection
59ef9a1 - Refactor our use of capabilities to support Neo's rewrite of the system (#7925)
- Adds support for non BE based block capabilities such as the composter (#6157)
- Minor performance improvements to some bits of transmitter related code
- No longer fires neighbor updates for cap invalidation as it is no longer necessary
- Reworked security utils and split it into multiple classes to make it easier to interact with using newer systems
- Made config and security caps fully support being applied to blocks rather than having BE specific implementation details
- Fixed sorter position and face checking
- Fixed WorldUtils#notifyLoadedNeighborsOfTileChange
using the wrong state for the weak changes and secondary neighbor change check
- Include ItemStack attachments in HashedItem's hashCode
- Allow accessing transmitters by position for all types rather than just inventory networks
- Expose energy caps on robits and switch the chargepad to charging robits via it
a3c1b79 - Update a couple dependencies and switch to building against neo 1.20.4 (compile errors have not been addressed yet)
577523a - Fix advancement triggers
121f6ea - Make API provided recipe builders compile
7688e9f - Fix compilation of main mods (datagen still doesn't compile)
bca7f93 - Switch criteria triggers to using the proper registry
c6dfe29 - Fixes crash while launching client
3a9c544 - Fix datagen compile errors
d44aab8 - Remove no longer used SerializerHelper methods
b46f430 - Fix SawmillRecipeSerializer not being able to serialize recipes without a secondary output
67414f2 - Fixed some copy-paste errors in the recipe serializer codecs
230d024 - Make all our recipe serializers return MapCodecCodecs so that the recipe dispatch codec can inline the recipe
2fc1b63 - Fix base lang provider including the modid twice in the provider name
79ce1bb - Run data generator
91c7fd1 - Port curios integration
c081944 - Remove unused interface
3e60175 - Rename some interface methods to overlap with vanilla methods to remove the need for manual implementation or bouncing
d85e40a - Make use of neo extension to cleanup GuiElement click processing
3c7f06a - Make a couple interfaces extend Predicate
8763499 - Fix nullability warnings for BE holders
bb006f7 - Update NeoForge and account for changes:
- Mandatory field in mods.toml being deprecated in favor of type
- Server configs ending up in normal config folder by default
- Rerun datagen to update pack mcmeta's
- Pass stack to customArrow
- Update how we check if milk can cure an effect
- Make MaxedModuleContainerItemPredicate's Codec a MapCodecCodec
934948e - Update datagen cache to account for data from merging 1.20.1 into 1.20.4 branch
036caeb - Update neo version to fix gametests not working
1c638f6 - Update gradle and NeoGradle
6e457af - Fix recursion
32692cf - Switch version to being a record to reduce boilerplate
51e6751 - Fix diversion transporter not visually disconnecting when a transporter it is connected to is removed
52bd386 - Update to support NeoForge's Network rewrite:
- Split various packets that previously used an enum to determine behavior into more logical separate packets
- Moved the batch security update packet to being a configuration packet so that it is sync'd to the client before the client finishes loading
- Converted a large portion of our packets to records
- Made transmitter network content packets use packet bundles instead of lots of optional fields
- Switched lots of usages of Random to RandomSource to be more in line with vanilla functionality
- Don't bother syncing position on spawn of balloons as it is already done by vanilla
- Made FloatingLong#readFromBuffer return an immutable FloatingLong
- Cache the client owner's name of frequencies so that the data is properly accessible in single player if a frequency is sent directly over (this means it should never show as null and properly use <???> when unknown)
- Removed string, array, and nullable helpers for reading and writing to FBBs and replace with vanilla/neo counterparts
- Use specific max string lengths in more places for reading and writing to FBBs
- Switched some things (Frequencies and TransporterStacks) to always serializing for payloads as the network system no longer does so in single player
- Fixed some cases where things were relying on implementation details and converting data during serialization (which no longer works in single player)
- Keep track of frequency type in syncable data so that we don't have to send the type over the network as we already know what to expect it as
- Made syncable lists use byte array data to ensure that new instances are always created and to simplify the networking logic for syncing lists
- Added some TODOs about things that need to be further looked into to confirm that they behave as expected in single player
d70f5a8 - Update NeoGradle and re-enable parchment support
fbc2251 - Update deps and compile against jei for forge 1.20.2 and update parts to account for the RecipeHolder changes
97e6ed7 - Reformat code and optimize imports
feb0aa9 - Address various misc minor intellij inspections
f2246e9 - Switch to NeoForge withAlternative for MapCodecs and properly provide errors as DataResults instead of as exceptions
c490b36 - Use a broader range of accepted codec representations for deserializing nbt for items and fluids in recipes
96e81a8 - Use constants instead of magic numbers for personal storage blocks
b7da6ce - Simplify how we create the completable future for our CrT example provider
eee8df2 - Update deps and add support for newer BOP content and biofuel recipes for BOP content
7d51514 - Replace unnecessary WrappingMapCodec with proper usage of xmap
54c3c57 - Update deps and re-enable JEI integration and update to changes in NeoForge
51caf84 - Allow flame projectile to light candles
b7f6b3c - Update deps and bump min neo version and clean up code for adding layers
479b987 - Make use of DeferredRegister's entries rather than keeping our own lists of entries
ca2b563 - Compile against ProjectE's upcoming 1.20.4 API, and ensure we load after json things so that we can properly hook it in the constructor
da65c30 - Support checking player item cooldowns for vision enhancement, jetpacks, and grav unit mekanism/Mekanism-Feature-Requests#591
0466ecd - Misc cleanup by using math related constants and helpers from Mojang's Mth class
dad865d - Cleanup ATs to remove some unneeded ones and add a couple that are now necessary to keep mirroring vanilla code. Also fix how explosions are handled in bounding blocks and meltdowns
11d59bd - WIP on figuring out which parts of the code interact with TPS in preparation for properly supporting when the level's tickrate is changed
b51212c - Move module containers over to using attachments to allow keeping the stored modules in object form and add support for custom module containers via the API (mekanism/Mekanism-Feature-Requests#449)
57a7f3e - Move enchantment based modules to storing their enchantments as part of the module container instead of hijacking the NBT. Also fix inverted check in module installation
8de57c0 - Reduce direct usage of IModule#getContainerStack and introduce preferred alternatives
bfb41c1 - Remove try catch fallback from BlockBounding shape lookup as it should no longer be necessary
9944e9d - Move walkie-talkie data and configurator and disassembler mode storage to attachments. Note: Ignores legacy values
992402a - Move mode storage for electric bows, flamethrowers, free runners, jetpacks, and scuba tanks to attachments. Note: Ignores legacy values
c64a966 - Move fluid tank bucket mode storage to attachments. Note: Ignores legacy values
d22f6e2 - Update deps and make use of some newer Neo APIs
16c4bc0 - Move container storage for all types except items to attachments (#7989)
3a9bd69 - Move vibration frequencies to data map
df73118 - Make persisting disabled providers auto disable the corresponding providers if the mod isn't present
01afee2 - Move owner, security mode, frequency item, and color item to attachments from raw NBT
139c0bf - Move upgrades to being stored as an attachment on items
18e43f0 - Move formula storage to attachments
5f2367e - Continued work on moving item data from nbt to attachments, some of it loads legacy data some doesn't
607bf73 - Move storing cardboard box data to attachments, supports loading old data from items but not from placed boxes
13e6a96 - Replace Coord4D usage with GlobalPos. Does not load legacy robit homes or radiation sources
778a4f7 - Move QIO Drive Metadata to attachments
8ea79be - Move robit skin and name storage on items to attachments, does not load old values
638a7c0 - Move storing the personal storage id to attachments, can load legacy data, but removed support for loading legacy data from 1.19 and older
9ba72a9 - Cleanup how we load legacy item data
2449205 - Move configuration card data to attachments
9db37cf - Move item storage to attachments instead of using ISustainedInventory, and make rotary condensentrator's mode persist when broken
fd52b80 - Don't reposition the mouse for certain gui transitions
888b3d9 - Full support of attachments in places we only supported NBT previously, and use a builtin codec for ItemStacks rather than our own copy
c3d76c5 - Copy Laser Amplifier settings to and from stack when broken/placed
a15626d - Remove the need for ISustainedData by making it part of TileEntityMekanism and default to handling the redstone control logic
40c9016 - Handle side config and ejector as attachments on the item
2ed53a9 - Update deps and move parrot imitations over to using Neo's datamap rather than ATing the backing map
d6a8acf - Slightly cleanup handling of tile component serialization and copying to and from attachments
27f3321 - Move frequency components to being stored as attachments and prune out unnecessary data from what gets saved to the item
d54a42f - Cleanup logic relating to reading to/from stacks
9795858 - Switch to defining the charcoal block burn time via neo's BurnTime data map to allow pack devs to more easily override it
18afdb6 - Move MekaSuit damage absorption ratio to a data map from the config (#7997)
6aa73b8 - Add a few helper methods to boxed chemical stacks and chemical type
9694b5d - Add missing lang conversion for "Stabilisation" (#7999)
c8b5dd4 - Update neo and set more efficient attachment copiers for our attachment types
128472f - Rerun datagen
d746128 - Add a soul gliding unit to the mekasuit boots and give free runners Soul Speed I when on normal, so they can run free on soul sand
c470593 - Cleanup some stuff related to holiday handling making it so that holidays get detected when they day changes and updates the corresponding effects, as well as add support for randomizing the base robit skin based on the holiday
e2504c4 - Update deps and re-enable Jade in dev
cd367ea - Remove references to EU and IC2 as it doesn't seem like IC2 is likely to update any time soon, and just confuses users (mekanism/Mekanism-Feature-Requests#622)
9dc4221 - Properly support vanilla's new water and lava source conversion gamerules (mekanism/Mekanism-Feature-Requests#595)
a4da354 - Don't throw exceptions in attachment copy handlers
7a1112c - Fix GuiEntityPreview rendering
1d18b79 - Fix IDEA getting confused where to apply the annotation processor when building the project with Ctrl+F9
88ea391 - Fix riding offsets
aafa39f - Simplify handling of ingredients in some places
bdadd0e - Simplify loot functions by removing the unused conditionals, and sort the copy containers list
75ef2aa - Prep for attachment based ingredients, and loosen strictness on nbt matching
8bd636e - Fix wind generators speed and direction not behaving properly in respect to the new world height limits #7912
ea80093 - Switch a few static blocks to using Util#make
a4f3c21 - Rerun data after merge
28ac556 - Mark things as optional in our maven pom
8513ba9 - Update Neo version to stable
aa2fcfd - Update workflows to use latest versions of actions, and try to fix codeql analyzing minecraft itself
153b8ab - Add support for trusted frequencies (mekanism/Mekanism-Feature-Requests#125)
9da22af - New Crowdin updates (#8001)
367d98b - Disable TOP in dev as it seems to cause connection issues when attempting to join a server
b37c24e - Fix some inspection issues relating to logging and javadocs
119faee - Remove references to deprecated NonNullSupplier
5577e4b - Add a couple annotations related to null checks
70e6120 - Fix z-fighting with Embeddium (#7976)
e7d8d57 - Fix accidental emissive quad removal
be7d590 - Remove duplicate render background call causing background to be darker
41dc17b - Fix QIO Drive array leaking reference to current drive status in single player
f554030 - Make how we store some bits of data in NBT more compact
1b7a782 - Update to 1.20.4 CC:T (#8003)
495c7c2 - Remove unnecessary mod dependency version ranges
a540292 - Update deps and bump neo version to properly support attachment based ingredients
7d762a2 - Fix bounding blocks not being able to replace blocks like sculk veins (#7950)
eebf816 - Fix tests not being able to be run
dddab7b - Fix floating point issues relating to batched rendering #8004
fca1c43 - Fire advancement triggers from the farming unit so that there is a chance the wax off trigger can be checked #7954
5d7297b - New Crowdin updates (#8002)
165052c - Bump version to 10.5.0