Releases: mekanism/Mekanism
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](acd57ce3d40645c9648d21bb2ec5...
v1.20.1-10.4.8.43
b73f09d - binary compatibility fix for other mods using internal classes
v1.20.1-10.4.7.42
v1.20.4-10.5.20.41
b792593 - Restructure our GameTests:
- Added the tests for transporters from (#7748)
- Reduced the number of game test sourcesets to one, and allow it to access all the other mekanism modules
- Make use of Neo's Game Test Framework as it is nicer to work with and will eventually allow us to validate the tests via GHA
- Moved the run configs to using their own run folders
bacc188 - Attempt to make our Game Tests run on push whenever we change a java file
fd6e6e9 - Add a couple helper methods to ConnectionType to make it slightly clearer in places what is going on logically
5fa4404 - Cleanup some of the game tests to use more specific types and avoid using mutable to capture intermediary results
f8efd06 - Restructure transmitter chunk reloading tests so that the event listeners are only present for the test
4df3d6b - Add a helper to get the default block state for block providers
e1ebc6e - Improve memory churn of path caching by making cached paths immutable and using the cached list directly in the destination logic rather than copying it
99747f3 - Add a couple helper methods to Path to make it a little clearer what is going on, and remove flowing stack targets when there are no more stacks being sent to a location
d4eb85f - Try to recalculate idle paths when they reach their destination rather than just having them indefinitely idle
89e70aa - Short circuit a little logic to avoid looking up the side multiple times for transporters, mostly bringing parity up to (#7748) except for the network wide changes
33e72ba - Add a test and fix not being able to actually insert items back home when the destination stops being willing to accept them
dd222eb - Continue adding more transporter related game tests, and fix accidentally breaking stuff in previous commits
fca8280 - Write tests for a lot of the remaining transporter functionality
6b9da80 - Update Neo and use custom game test helpers instead of static methods in our tests
c53a41c - Improve remainder distribution to try and split the remainder as evenly as possible between the various destinations before falling back to sending to the first one it will fit in (#6617) (#8062)
Co-authored-by: Thiakil <[email protected]>
a75d18c - use correct endbatch method
9f93887 - New Crowdin updates (#8059)
b66db9e - Bump version to 10.5.20
v1.20.4-10.5.19.40
f589238 - Update what example version we provide for how to get mek into maven
e4fa6e9 - Fix visuals too big tooltips not displaying properly, and fix tooltips sometimes flickering when changing rapidly
2792ad0 - Make intellij always download javadocs and sources if available
7a66935 - Fix occasionally creating invalid tooltips that then cause crashes (#8058)
d8278dd - Improve handling and actually directly support connecting QIO exporters to transporters
- Directly uses transporter methods which should provide slightly better performance (and allows it to bypass the transporter's pull limit)
- Supports using round-robin mode when inserting into transporters
- Supports attempting to accept rejects that got sent back by transporters
- Visually connects to transporters (#7973)
cc383ac - Have the exporter only validate that the transporter is connected a single time
a82e046 - Cache various values that are based on number of installed upgrades
2401c84 - Bump version to 10.5.19
v1.20.4-10.5.18.39
2d4099c - move changelog to markdown and set up a discord webhook for releases
7cbb5f7 - unroll Resizable Cuboid loops to draw an axis at a time and reduce repeated calculations
remove some redundant overrides
904f1d2 - Fix being unable to place blocks that have bounding blocks (#8052)
068736d - Work on removing more capturing lambdas
eb8c3bc - Make PacketUtils#container nullable instead of using an optional
47807de - Remove almost all the remaining recipe input cache related capturing lambdas
9cfd091 - Move canFunction to a method on TileEntityMekanism
3ad418c - Remove capturing lambdas from acting as a fake player
ade6faa - Improve performance of factory sorting and inserting by removing capturing lambdas from hot paths
7e605b8 - pass boolean through the chain rather than an atomic variable
8004e0e - swap outline renderers to transform the baked quads directly
086b5b8 - Remove capturing lambdas from active jetpack lookup
68269ef - Revert "swap outline renderers to transform the baked quads directly"
This reverts commit 8004e0eef66bcf0026ed182fe832438011be47f3.
a582d95 - inline an always capturing lambda method and avoid allocating a data class just to use an instance method
bddc40f - reduce some object churn in rendertickhandler
d5ef0eb - Don't allow fluids to replace our blocks
e1b05e9 - Make it so that structural multiblocks don't tick (structural glass and reactor glass) (#8051)
94f6f67 - redo outlines using XFact's normal calculations
2912fc3 - poor man's line dedupe
ab256d4 - Don't go back and forth between floats and doubles, and simplify how we unpack the vertices and calculate normal
2f4c4b6 - Remove capturing lambda's from MekanismJavaModel's wireframe rendering, and calculate normals of the wireframes properly. Also use hashes for comparing lines
caf58da - Remove capturing lambda's from vein and blast mining calculations
8da0a1f - Get rid of capturing lambda's in the security system
b61e724 - Continued removal of capturing lambdas
763f8a1 - Continued removal of capturing lambdas
f26d90a - Remove capturing lambdas from inventory frequency eject handling
4f5ef0e - Remove some gui related capturing lambdas
e7969e3 - Reduce capturing lambdas for various parts of gui code interaction
2a1241c - inline some single use constructors and normalisation to avoid object allocation
9a26907 - generate a hashcode method
36cfb52 - dont keep the lines hashset around longer than we need it
f079cc5 - let transparent renderers batch properly
124d710 - cache multiblock render aabb
8763cba - Refactor how we handle tooltips to make use of minecraft's builtin system:
- Allows properly forwarding element tooltips to EMI
- Make moveable filter buttons properly use the child system so that the tooltips can render for the arrow buttons
26c2e68 - Revert some changes to click handling that caused crashes
d9df0bb - Use constants for certain true false displays
ea18b72 - Move configurator slot hovering tooltips to the slot rather than being on the main gui
70c4940 - Improve the ScreenRectangle we use for tooltip rendering of slot based lists
f4bd54f - Wrap fission force disabled tooltip to be in line with other tooltip rendering
9825e38 - Update tin textures to provide a bit more contrast throughout each texture and make them appear less flat (thanks rid)
e522531 - New Crowdin updates (#8053)
ce59cf0 - Bump version to 10.5.18
v1.20.4-10.5.17.38
v1.20.4-10.5.16.37
v1.20.4-10.5.15.36
57de5f2 - replace HashList with a set-backed object to improve trusted frequency checking
e362284 - micro-optimise the frequency backing map
5971eed - check chunk loaded and set dirty in one operation
0e3916d - remove logging
3895dfb - avoid floatinglong copy when not needed
585e81f - use a more direct method to determine heat capability in hot path
02dfea1 - completely skip radiation handling if no gas handler
ecca3e3 - Improve the performance of the charge distribution unit, and also improve the performance of saving the energy distribution of universal cables
9f291f5 - Fix energy bar rendering twice on robits in Jade
abb5ece - cache active attribute to avoid map lookups
ca2beef - Allow clearing configuration data from config cards by crafting them
a4e8db3 - fix Hashlist and SyncableCollection not syncing
3698916 - avoid copying FloatingLong.ZERO
8a003bc - let qio dashboard middle click withdraw 1 item at a time to the cursor, depositing one if slot not matching
d7d9eab - give filter guis a little more breathing room and some better text details
5f3ac4f - add ability to clear data from config card by sneak clicking air
be4698b - Cache energy capabilities for ejections of things like quantum entangloporters and the like
aa3ff5f - Flip certain icons to display what their current setting is and then have text display what it will set it to
afe26bc - Enable neo milk fluid, and allow milking cows and goats using a fluid tank on bucket mode
39512d4 - Change the order of the side config tabs for a few machines to prioritize opening a type that will actually need to be changed
383ef07 - Allow modules to stack to 64 in the player's inventory
ff8bb35 - Add a nucleosynthesizing recipe for echo shards
d293a54 - Don't allow modifying the set of supported upgrades, and slightly optimize behavior for one and two element sets
90a6379 - Switch to a regular hashset for players using
f9c55ad - Remove stream usage from recipe cache lookup to remove some capturing lambdas and cleanup corresponding profiling data
16b3565 - Substantial performance improvement of multiblock ejecting by having the multiblock eject once across all outputs, instead of having each output try to eject the remaining value
8f9f01b - Remove a few extra calls of sending an update packet to the client
3287956 - Fix typo causing last commit to not compile
c6d92d2 - Remove streams from chemical attribute validator
cc86d9f - Don't recreate the supported data type set every call
3ffdc70 - Add some shortcut overrides to heat handlers to avoid having to get the list of heat capacitors multiple times
eb36b37 - Remove a good number of capturing lambdas
381c303 - Reduce capturing lambdas and cleanup logic for chemical tank wrappers to make profiling data cleaner
d336223 - Slightly reduce complexity of getting what config sides line up with specific data types
a745a5f - Short circuit logic for looking up wrapped handler for bins and ejectors
1acaf44 - unroll loop using method reference lambda
ed67a3b - move security frequencies from the map to a field
2e8d90d - unroll more capturing lambdas
f048e38 - New Crowdin updates (#8044)
New translations [ci skip]
f5ae8c0 - bump version
820566d - Use Object2LongMap entry iterator to avoid boxing and unboxing
6448784 - Simplify DataBasedBakedModel and add support for proxying useAmbientOcclusion based on model data
bbd4cbb - Fix a couple places things weren't moved away from capturing lambda's quite properly
993532c - Use primitive maps for structure handling and also remove a capturing lambda
3f9536e - Remove capturing removeIf lambdas
e4c6659 - Remove a bunch of capturing lambdas from places we interact with things as streams
bcf24f3 - Work on removing capturing lambdas from optional filtering
804bae2 - Work on removing capturing lambdas from optional mapping
11e711e - Fix a couple more capturing lambdas
a01205d - Remove handling of doing a best effort job of loading 1.20.1 data in 1.20.4. Worlds don't fully upgrade, but if you want to do so make sure to first load using an older version
4e4a734 - Remove more cases of capturing lambdas when checking if an optional is present
9572007 - Remove even more cases of capturing lambdas when checking if an optional is present
6c19987 - Remove some unused code
20bdde3 - Bump build number for testing experimental changes on FC
<a href="e1fe2bc564b8becbe52ebba1...
v1.20.4-10.5.13.35
9aa801b - Improve performance of TileComponentUpgrade
2c55c6d - Reduce BlockPos allocations in a few of the WorldUtils methods
72bc520 - use constants for mouse buttons
b6b74cd - make right click in qio take half a stack, not half of total stored
dcddd35 - move trusted user checks to helper method (no benefit for now)
dcf8adb - add hashcode to piggyback name
f81da86 - use map override of foreach
079f71a - rate limit frequency updating and add some logging
dbd36b8 - Prefer mouse button middle to mouse button 3
de4f646 - Remove nullable warning for level by passing it directly
949f4f5 - Fix robit repair screen error sprite rendering
b79d67a - Improve performance of handling for fluids, chemicals, and energy:
- Reduces the frequency of capturing lambdas
- Looks up containers a single time for batch operations
- Make use of batched methods for some slots that weren't using them (at least when the implementation of the item is a mekanism item)
- Fixes some weirdness with what tanks fission and boiler ports expose
000a83c - Actually distribute frequency component updating across ticks
6022c0b - Make offset threadsafe
973b701 - Allow transparent plastic blocks to be placed inside framed blocks
ebd4cf9 - Switch persists and handles checks to using INVOKEVIRTUAL instead of INVOKEINTERFACE
3b40467 - Fix having accidentally broken the ability to encode formulas
2a470df - Allow using the section symbol for robit names to allow for robit names to have colors (mekanism/Mekanism-Feature-Requests#443)
663e512 - Transition over to using MutableBlockPos in a variety of locations to try and cutdown on allocations
cdc3f6c - New translations en_us.json (#8043)
67374bb - Bump version to 10.5.13