v1.21-10.6.0.44
Warning: Mekanism is currently in alpha, and is not recommended for widespread use in modpacks. There are likely to be game breaking bugs, and updating from one alpha to the next may cause various mekanism blocks to disappear/void their contents. While we will try to not have this happen/keep it to a minimum make sure to make backups. You can read more about the alpha state of this project here.
d137027 - Initial port to 1.20.5
ef3c8ce - Make datagen compile (crashes at runtime, but it compiles)
23c0ef8 - Fix equals and hashCode implementations for various data components
84a3f2b - Update chemical stacks bringing them more in line with modern item and fluid stacks
42ea4d1 - Refactor how containers are implemented and exposed as capabilities on itemstacks to properly use the data component system
ac59cfa - Update Neo and adjust for the breaking changes
db89c8d - Disable computer help providers until yaml-ops is updated to account for the breaking changes to DFU
5fb5de9 - Temporarily mark ResourceKeys as valid for component validation
b0a980c - Slightly update pigment extracting recipes to properly handle the new way of representing specific colored tag variations
7a84846 - Rerun datagen
f8903d0 - Revert "Disable computer help providers until yaml-ops is updated to account for the breaking changes to DFU"
This reverts commit fd7281f581175f763afdee189a8af93b4edee348.
e1189c6 - update yamlops
3f15c5d - Make use of sequenced collections
4748215 - Make use of new switch statements to allow cleaning up some of our chained instance of if else statements
f06e6e5 - Remove some methods overrides that are the same as the super one
ad0a40f - Remove things that we deprecated for removal and rename a few methods in module helper
531f779 - Update neo and remove no longer necessary component validity call
9496be1 - Fix usage of FluidStack as keys in maps or sets not properly comparing
5b5cb7b - Initial pass at rewriting module containers and the module system to more properly interface with the immutable nature of data components
586c3ea - Update to 1.20.6 and rename 1.20.5 branch to 1.20.6 as they are basically the same except for neo changes
c58113f - Update and enable EMI in dev
b09a75c - Fix an old version of CrT being pulled in by NG across projects
736ca68 - Fix querying empty module containers causing a crash
8638540 - Fix hash strategy for fluid stacks as apparently it is also used for comparing against the null case of not being present
7ef4d56 - Fix comparing against components instead of the change from default components
f840b14 - Rerun datagen and fix accidentally including a bunch of default components by accident
ffd0a3d - Adjust how we add things to the runtime classpath so that things we have just for testing in dev don't get added to the pom at all instead of us manually marking them as optional. Also re-enable gradle module metadata
a872899 - Update deps and adjust to MC changes for looking at helpers
5eaad30 - Ensure when we are dealing with things that might care about registry stuff we use registry ops
18ad3ed - Rerun datagen to update data based on deps that are now updated
e17fc80 - Update to support the new tag conventions and new vanilla tags
59091d2 - Add localization to our item, fluid, and chemical tags
32da671 - Run datagen to apply tag related changes
34f4f09 - Flag generated resources as generated in git, so that github doesn't display the diff for them by default
e03d8d3 - Give update module setting sync control to the config elements themselves
ec511fb - Remove deprecated and make things protected which is what mojang finally has moved to in order to represent that block methods should be called via blockstates
9e9840e - Validate that the module config sent by the client is valid
a8188bd - Simplify stream codec for qio item viewer sync
507c83d - Add javadocs to new API methods, and address some of the simpler TODOs in the API package
c4442fc - Update Neo
dea06c3 - Handle entity spawn placements via the deferred register, and make baby mobs copy all entity properties
0c07aeb - Ensure conditional based data components are added to loot tables, and make sure the output order is consistent
dfe836a - Work on making containers copy to and from stacks
0d730a1 - Add support to the Computer wrappers for data components
d06f2dd - Add a method to get the raw output for item to energy recipes
098ce1f - Cleanup some stuff relating to frequency identity serializers
7199e81 - Fix a few issues and typos in some of the tag translations
261daad - Make ChemicalStack#BOXED_OPTIONAL_CODEC persist the type of the chemical for empty stacks
24174c0 - Remove BYG and ILikeWoodCompat as our recipe syntax changed, and they aren't going to be on 1.20.6 soon (at least not without significant changes)
639dcf0 - Fix Mekanism Tools not using configs and missing some tags
c024d74 - Work on applying default components for items so that they don't end up in the component patch
42a75c8 - Continue work at applying default components to things
e652c1f - Continue work at applying default components to things
acd57ce - Mark more complex component types to cache the encoding
80c4f54 - Make it possible to blacklist blocks from being mined by the disassembler or meka tool
f9bb915 - Re-enable BOP in datagen and regenerate recipes
e052d61 - Use Stream Codecs for transporter stacks
5a342c9 - Move frequencies to codecs and stream codecs
216cf0d - Rename translation strings for Ethylene to match the internal name and the IUPAC standard of Ethene. Also add aliases to search to help ease transition, and make EMI chemical serializers use the registry name as the prefix
8d284da - Update Neo, and account for breaking changes, and fix copy-paste error of adding the laser amplifier twice to functional blocks, instead of one being the laser tractor beam
3bba856 - Fix not exposing chemical capabilities on chemical tanks as items
934909f - Fixed the AttachedEjector component causing crashes when attempting to be serialized due to null colors
954201a - Fix some items being added to the creative search tab multiple times
c377444 - Add more expansive support for EMI's alias system
a8bb435 - Rename storage blocks to be more inline with vanilla naming of storage blocks
12c1014 - Only take into account changed components when creating a data component ingredient
bd477b5 - Fix 2 recipe viewer issues (#8079)
620196d - Initial pass at reworking ingredients to use neo's SizedIngredient and SizedFluidIngredient. Also fixed the fluid input cache not properly handling component based inputs
13fc4aa - Remove fluid and item multi ingredients in favor of using just using compound ingredients as the internal ingredient
58a6ea2 - Initial pass at reworking chemical ingredients to be extensible and closer in concept to fluid and item ingredients
70ee523 - Rename chemical IngredientCreatorAccess methods to explicitly specify stack so that the basic version can have just the chemical name
74ba83a - Fix game no launching due to forgetting to register the new ingredient registries
8237564 - Add some overloads to help create basic multi input ingredients. Also update docs to state that the default components are not included on the ingredient when created by item or stack, and that the ingredient needs to be manually created
9615886 - Further, reduce duplicate code relating to codecs for the various chemical ingredient types
a3b7978 - Loosen restriction slightly on batch ingredient creation
46f6dfc - Run datagen to account for changes to ingredients
47ca1e8 - Update Neo to get access to the fluid ingredient additions
2db6de1 - Expose chemical registries as defaulted registries so that they provide better nullability markers for things like get
ae5c2b3 - Improve our game test helpers for how we interact with a block from a specific side, and add a test to validate it functions properly
a76be72 - Update to using Item#ABSOLUTE_MAX_STACK_SIZE instead of hardcoding the old max of 64
fb5ab39 - Merge NBTConstants and JsonConstants into a single SerializationConstants class
ab5dccc - Minor cleanup of some serialization constants, and switch constants that aren't used for representing vanilla stuff to using snake case which is what vanilla has been moving to for use in codecs
46c726d - Move some things that were using raw strings to using constants declared in SerializationConstants
377d388 - Revert a couple changes that cause conflicts with naming when used in dispatch codecs
7154c30 - Rerun datagen to account for changes to various serialization constant representations
558f9e2 - Update deps and address breaking changes in Neo
c356468 - Switch back to using jetbrains as the toolchain target as it can now be resolved, and also do a bit of minor gradle cleanup
3674476 - Widen some explicit uses of ILangEntry implementations to accepting ILangEntry in general
2ce5b3e - Fix a few more accidental conflicts with dispatch codecs
32df588 - Fix some issues with decoding frequencies
b13b497 - Fix accidentally breaking all jar building
8a06989 - Fix game tests and use mojang helpers
670d34b - Reduce memory impact of empty components by just using a single empty instance and initializing as needed
e9eb3c7 - Work on addressing misc TODOs
173121d - Remove setting the tooltip delay to -1 as now that it is in its own wrapper class, it doesn't cause flickering when updating rapidly
418d53b - Fix FloatingLong codec not properly using data results for errors
af32797 - Fix a couple places where the wrong lookup was occurring for security frequencies
01f8259 - Make clear configuration recipe reset components back to their default value
5a1770b - Move default side config setup to being applied as a default item component instead of in the BE
1ab7f02 - Add a project icon for when Mekanism is checked out via IntelliJ IDEA
894bd24 - Use epsilon to improve scale change check comparisons
ff3df36 - Fix fluid tank valves rendering to wrong height with certain configs
53a6954 - Make pick block copy components, and remove some tags that get copied when doing a full copy that don't make sense to persist
0c61eff - Fix cardboard boxes not persisting data when broken or pick blocked
b275496 - Remove support for IFluidBlock in preparation of neoforged/NeoForge#1024
d3c8f74 - Update Neo and NG and make use of FML initialization for unit tests to remove the need for lazy codecs in ingredients
d96433c - Rewrite the optimizePng task to try and take advantage of gradle's incremental change detection
0351da9 - Work on addressing misc TODOs and only bother serializing the frequency identity to items and relook up the frequency when placed rather than looking it up and creating with extra data if it was deleted
9f6de67 - Mark the inside of formed multiblocks as "dangerous" to prevent mobs like pets from teleporting inside #8085
14c6663 - Only remove harmful effects by default #8084
a2dd72e - Allow robits to pathfind past rails
169e041 - Use mojang's builtin item stack hash strategy instead of rolling our own one, and make our fluid stack one be based off of the logic more closely
161b040 - Optimize batch insert and extracts for component backed handlers
f535fd4 - Fix crash when placing some blocks in Prod due to AT level not being properly recognized
c7c1f04 - Update gradle to 8.8 and refactor the allJar task to support the configuration cache and also support caching the output of intermediary steps
75367fb - Set properties as input to task rather than having to use a separate replace resources task
db42748 - Update deps and switch to using the new builtin system for defining startup configs
114d94b - Fix access levels of various methods that are now protected instead of public
aa2e30e - Fix CrT integration and use OIngredientWithAmount and CTFluidIngredient as how we interact with CT instead of using our own wrappers
8939e04 - Remove CrT workarounds now that a few issues have been fixed
1d19819 - Provide registry access to more places where we use codecs
2181913 - Replace QuickTheories with jqwik as it is a property based testing lib that is still receiving updates, and fix some edge cases where FloatingLong's did not perform certain calculations properly
8e4d817 - Use registry ops if possible for computer converters
022361c - Update to 1.20.6 stable and account for breaking changes
ec48d8a - Allow the atomic disassembler, and meka-tool to break decorated pots
e012030 - Update TODOs and retarget certain ones for completion by the 1.21 release
Also addresses certain trivial TODOs
b6a7e4b - Initial port to 1.21
a33af9d - Fix robit rendering tinting incorrectly
1689465 - Enable alpha-warning (minus readme details) and fix game test for unloading chunks
727f383 - Run datagen
ed7fa95 - Fix Emi Alias Provider enchantment lang key compile errors
8f603db - Account for the various enchantment based changes
3539ba7 - Re-enable configuring armor settins for main module
fafaf1d - Add helpers for checking matches on our recipes using the vanilla system
e004b26 - Address misc TODOs and fix being unable to lock bins, and mekasuit losing power on relog
1a1eba3 - Update to 1.21 release from rc1 and run datagen
44d81db - Update README to include details about alpha
572f4e8 - Bump version to 10.6.0