Skip to content

Releases: mekanism/Mekanism

v1.20.4-10.5.20.41

04 May 20:15
b66db9e
Compare
Choose a tag to compare

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 <thiakil@users.noreply.github.com>  

a75d18c - use correct endbatch method
9f93887 - New Crowdin updates (#8059)
b66db9e - Bump version to 10.5.20

v1.20.4-10.5.19.40

12 Apr 21:12
2401c84
Compare
Choose a tag to compare

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

10 Apr 18:53
ce59cf0
Compare
Choose a tag to compare

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

06 Apr 02:32
Compare
Choose a tag to compare

add7fd1 - fix wrong pos given to ticking chunk check
8ba8fcd - bump version to 10.5.17

v1.20.4-10.5.16.37

06 Apr 00:19
44ab987
Compare
Choose a tag to compare

c455c17 - Don't output from QEs that are not in ticking chunks
7279fc0 - Fix dupe in ejector component due to not actually setting the handler
44ab987 - Bump version to 10.5.16

v1.20.4-10.5.15.36

05 Apr 18:20
8f891fe
Compare
Choose a tag to compare

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...

Read more

v1.20.4-10.5.13.35

29 Mar 22:19
67374bb
Compare
Choose a tag to compare

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

v1.20.4-10.5.12.34

27 Mar 20:48
382ebcf
Compare
Choose a tag to compare

4453f04 - Add some missing cull faces to various models
de8cd4b - Fix current stored energy not updating properly in GUIs on a dedicated server after installing energy upgrades
0658573 - Use pick block for displaying blocks as stacks in the seismic reader
149de3e - Improve robustness of our saved data implementation to try and perform an atomic move
a816c61 - Limit the stack size of the formulaic assemblicator's formula slot to one
fc4855d - Cleanup formulas sometimes not stacking
70df777 - Improve flamethrower particle positioning when riding a vehicle
e0f2507 - Don't allow using a jetpack while riding a vehicle
8a748f5 - New Crowdin updates (#8039)
382ebcf - Bump version to 10.5.12

v1.20.4-10.5.11.33

26 Mar 21:32
9193e01
Compare
Choose a tag to compare

514f619 - Improve performance of formulaic assemblicator:
 - Short circuit logic for checking if a stack is a valid ingredient for a given position
 - Stop checking as soon as we find if an item is a valid ingredient rather than finding all spots it is a valid ingredient for
 - Don't try to move items from the input to the crafting grid if nothing has changed since we last failed to do so
 - Only recalculate the recipe when it might have changed instead of in many situations
938a6ca - Move a large portion of repeated capability usage in tiles (such as auto eject) to using block capability caches to avoid having to lookup the chunks as often
20d45f3 - Allow the evap tower to render up to the very top to fix some rendering weirdness with valves
de8d80f - Fix z-fighting in ultimate fluid tanks that are very close to being empty
4f46ded - Skip some vararg creation of empty arrays
f597572 - New Crowdin updates (#8036)
3136f3e - More vararg creation skipping
9193e01 - Bump version to 10.5.11

v1.20.4-10.5.10.32

24 Mar 17:31
bdd2a45
Compare
Choose a tag to compare

d61d773 - move grav module to the attribute system
5434ff8 - merge if statements
e4f483b - bump version to 10.5.9
5232b51 - fix neo min version
07490e5 - Add native support for EMI (#8035) and don't allow for using recipe viewer hotkeys on stacks in mekanism gui's when a text box is currently selected so that it is easier to search in the QIO without the recipe viewer displaying a recipe
32b2df8 - Update deps and perform some basic gradle cleanup
5dd0fa3 - Allow making muffling upgrades with copper
541e545 - Don't allow a turbine to form with no dispersers
775a435 - Display redstone adapter current target in looking at mods, and also improve display for when looking at something that is empty
6b66c8a - Only make chargepads be "active" if they are actively charging something (mekanism/Mekanism-Feature-Requests#645)
e103cf5 - Fix already configured QIO adapters not emitting redstone on placement
b066716 - Fix not being able to insert buckets into tanks until the tank has at least a bucket worth of fluid
88c36d4 - Compare against epsilon for determining whether to cancel the fall event
1999a88 - Add crafting recipes to allow recombining plastic slabs into a full plastic block
897441d - Fix valve rendering for of thermal evaporation plants on the north or south face when at the very top of the tower
be1dbdb - Make gauges always display at least a bit of their contents if they are not empty
480ace5 - Only set the initial focus when it is actually the initial opening of the screen, rather than when leaving jei or resizing minecraft
bd615dd - Allow configuring jetpack thrust multiplier separately for jetpacks in hover mode
b70075b - Increase the max length for robit names to match what would be possible via an anvil, and properly enforce it as part of the name packet
4cc7356 - Add some missing BOP compat recipes
9141589 - Add a block of bio fuel
48b04dc - Add a client config and a button to not auto-focus the QIO's search bar when opened
80951d3 - Don't allow inserting primary items into a factory if the secondary input doesn't match
7062b6f - New Crowdin updates (#8030)
a48f9b5 - Bump version to 10.5.10
bdd2a45 - Fix maven publish