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.
b3fb169 - Update deps, bump min neo version to 21.0.31-beta, and adjust to support the damage pipeline update
d00749f - Make vanilla golems immune to radiation similar to how the robit is immune to radiation (https://github.com/mekanism/Mekanism-Feature-Requests/issues/608) This is done via a new radiation_immune tag
3333c4b - Hide Robit's health from Jade as the Robit uses energy not health
d8b2972 - Performed some consistency updates to things based on vanilla changes between 1.20.2 and 1.20.6:
- Made various teleportations use the new player teleport sound instead of enderman teleport sound
- Allow enchanting hazmat gear
8d75a05 - Create recipe default files for EMI to improve ease of use for the recipe tree
47fb8ba - Persist default skin for robit regardless of holiday if the default skin was manually set (#8138)
9d5b9a0 - Commit accidentally missed files from the emi recipe defaults commit
bbe2770 - Update github actions to use the newer gradle actions, and make the game test action also run unit tests
71e98b4 - Update Neo and NeoGradle, and enable use of gradle's configuration cache
a7ae1af - Cleanup fall damage reduction logic:
- Make fall protection take new safe fall distance attribute into account
- Account for the damage multiplier of the block and the entity
- Fixed handling when the remaining energy would only partially protect from the damage
- Allow step sound handling to make use of combination step sounds for players
da6998f - Replace excess waste fission logic adapter mode with a critical waste level mode. Default config is set at 90% of waste tank's capacity (#7851)
dcd35c2 - Clamp set burn rate when removing assemblies from the fission reactor (#8132)
43530d8 - Add QoL recipes for 1.21 content, made the formulaic assemblicator use a crafter instead of a crafting table, and added a crushing recipe for honeycomb blocks
585a0ba - Don't allow the cardboard box to pick up trial spawners or vaults
4b93c1b - Mirror vanilla and don't allow obsidian tnt that goes through a nether portal to destroy the portal, and make use of vanilla's TNT renderer now that it supports custom block states
7d19539 - Expose a way to modify item attributes from custom Meka Suit and Meka-Tool modules and move some of our enchantment based modules over to using attributes
- Removed soul speed 1 from free runners and instead replaced it with the movement efficiency attribute. This allows free runners to truly make you free! (except from cobwebs, and all those other pesky terms and conditions that apply)
3d54df9 - Fix installing modules after the first or removing modules one at a time not working. If the value set in the module tweaker for a config option is no longer valid after changing the number of installed modules, the value will be reset to the default
2b9d374 - Bump min Neo version to 21.0.4-beta and account for breaking changes
68f5d8f - Support persisting the remainder item for the nutritional liquifier (https://github.com/mekanism/Mekanism-Feature-Requests/issues/479)
7d0926c - New Crowdin updates (#8137)
fcb0d5e - Bump version to 10.6.3
84bd9a5 - Revert changes to publish action
8bee5f5 - Mark the output changelog task as not compatible with the configuration cache
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.
124c9fa - Fix bin lock state and resistive heater energy usage not being persisted when broken
d4a22dc - Fix a handful of QIO Crafting related bugs:
- Fixed a dupe bug caused by changes mojang made to remainders
- Fixed breaking a QIO Dashboard not persisting crafting window contents
- Fixed the QIO Portable Dashboard's Crafting Windows
- Also fixed some issue with the formulaic assemblicator relating to the changes mojang made crafting input overall size
7368986 - Fix color of frequency items not being set on immediately and instead being handled as part of the check for updated color
e72bd3f - Cleanup some formula related code:
- Fixed some cases where we were using the wrong set of inputs for calculating the output and remainder in Formulaic Assemblicators
- Made formula related things nonnull to make the code cleaner
- Allow clearing formulas with the configuration reset recipe rather than requiring sneak clicking to clear them
24d58a3 - Let the dictionary query any attributes that are default to the stack or added by mods
95623a6 - Switch from specifying UUID to having optional support for DevLogin
7987c6a - Update deps and bump min neo version to 21.0.28-beta. Also made the following fixes while making things compile against breaking changes:
- Fixed the grav module not providing flight
- Fixed atomic disassembler and meka tool not providing any damage in newer Neo versions
- Rerun datagen to make the AE2 recipe integration function again
- Register more dummy classes to CraftTweaker so that it is able to properly resolve all the recipe managers we expose
c96feca - Expose some of our tags to the API for ease of consumption in datagen of other mods (can move more if people request certain tags be moved), and remove hidden chemicals as a concept and instead make use of the hidden from recipe viewer tags. Also make use of the hidden from recipe viewer tags for what fluids and chemicals we display in creative tanks by default
212758e - Add a baby bogged
a6e8176 - Fix items in logistical transporters disappearing after the first transporter (#8122)
759edae - Breaking API change to module configs and lookup to make names be resource locations so that things like enabled can still be properly translated (#8121)
Note: This change may also cause module configs to fail to load for non mekanism modules, so we recommend removing them. There are no configs for the modules in mekanism generators so those should be fine. The legacy loading will be removed in a few Mek builds
2b5bef0 - Change some shapeless recipe inputs and smelting recipe inputs to use just our item, so that we aren't overriding other mods (#8130)
e01b6ad - Fix deferred tooltip rendering in GUIs not obeying the z offset (#8120)
568d10f - Cleanup z level hacks for rendering mekanism guis as at some point vanilla switched from a range of [-1,000, 1,000] to [-10,000, 10,000]
9ee9a65 - Fix rendering of things like emi's tooltips being at the wrong z level
2660a6a - Make content rendering for multiblocks stay inside the multiblock instead of extend to be inside the glass
07ba83b - Make our testrules helper command also clear the weather
39baa7d - Fix baby mobs not interacting properly with the new scale attribute (#8108)
8e2aa56 - Fix spamming the log with "Update tile packet received..." when opening a world
0481964 - Fix heating rate value in fission reactor GUI not resetting (#8095)
d91ea11 - New Crowdin updates (#8118)
5cf7cad - Fix providing an item energy cap that can't actually even be interacted with for laser amplifiers and tractor beams (#8097)
57832e8 - Bump version to 10.6.2
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.
fb72796 - Update maven readme reference to the 1.21 build of Mekanism
87ce0f7 - Fix typo
8ed3f06 - Update deps and bump min neo version to 21.0.6-beta
57b5071 - Fix equals check for certain records
9989abc - Fix referencing jade classes that don't exist in the 1.21 version (#8100)
1cd71e8 - Fix rendering the mekasuit energy bar even in creative (#8101)
d847fa1 - Update the fluid render overlay texture as it now requires using the full path (#8099) Also apply a fog color so that the fluid's color is more visible while inside of it
40ba329 - Fix interacting with unformed multiblocks briefly displaying the GUI (#8089)
8abccad - Fix using the old plural advancements folder (#8096)
13d038a - Fix laser amplifiers being set to zero for max output when initially placed (#8102)
ebbf8c8 - Fix crash when placing pressurized tubes (#8104)
ceaaf92 - Fix laser particles being incorrectly culled (#8103)
baaef5a - Fix changing the preview color of the MekaSuit actually changing the color (#8091)
cda1c7d - Fix balloons not firing game events for placing or removal (#8105) and make it so that balloons can be spawned via dispensers
cdd03f3 - Fix support for oversized stacks and remove the need for adding our own extra tag to track it (#8098)
e8307eb - New Crowdin updates (#8106)
[ci skip]
e633b43 - Actually fix gametests (hopefully)
e2f161f - Make robit's immune to fall damage (https://github.com/mekanism/Mekanism-Feature-Requests/issues/667) and fix certain laser and radiation applying knockback (#8110)
06b908e - Fix overlays not checking if the gui is hidden (#8112)
f5d6a79 - Add support to the persisting disabled datagen providers for handling EMI across all the modules
7338c82 - Update deps and bump min Neo version to 21.0.8 to ensure the correct creative GUI is used (#8093)
4015021 - Fix not displaying the position for invalid controllers in a fusion reactor (#8117)
33cb3de - Fix various items that are not supposed to stack from stacking (#8109)
6b4bf06 - Convert alpha warning in changelog to markdown as it was missed when we moved from html to markdown
e00d212 - Make certain blocks that change active state on manual interaction not have a delay for going back to inactive (#8115)
9873384 - Fix robit repair screen playing the anvil sound multiple times (#8116)
29a5777 - Add a config option to skip copying block configuration data when middle-clicking (#8111)
6f21ff4 - Make the turbine validation require there to be at least one blade and vent (https://github.com/mekanism/Mekanism-Feature-Requests/issues/668)
36713a6 - New Crowdin updates (#8107)
a79a447 - Bump version to 10.6.1
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 https://github.com/neoforged/NeoForge/pull/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
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
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
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
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
e1fe2bc - Fix QIO Drive Array using the wrong lang entry for displaying how many types are stored
3ea5fd8 - remove/deprecate optionals from meka module system
2a343a5 - Add javadocs to new IModuleHelper methods and also remove the duplicate method and add a TODO to rename the current method
be80310 - Move gravitational modulating energy usage to the module itself, now that it just handled via attributes
b97eed8 - add methods to avoid using an iterator to get the first window in the LRU
79851ef - Handle flamethrower usage and entity spawning by overriding item use methods, and allow the flamethrower to be fired from the offhand
b1206bb - Fix getItemInHand accuracy for non players
4e2097b - Remove capturing lambdas when updating swim and step height attributes
303b59c - Continued work on removing capturing lambdas
aca4444 - Remove more capturing lambdas from various forEach calls
32e0b5f - Remove capturing lambdas from custom selection box rendering for non java models
a7ea195 - Address some automated code inspections
2dac808 - Cache the capturing lambdas used by the cached recipe system when calculating the operations that can be performed each tick
0826d16 - Added "isIgnited" to FusionReactorMultiblockData and fixed a typo in OneInputCachedRecipe (#8049)
f5d7a1e - Pause recipe processing if there are errors that stop it from being able to be processed. Should make backed up machines a bit more performant
e8f9f64 - Fix peak and head methods for LRU
eac6619 - Cache non transporter item eject cap targets
e022c13 - Only initialize the HandlerTransitRequest item map if we have any items in it
0ced834 - Check if a slot is full before checking the corresponding recipes as in general especially with lots of recipes it will actually be the quicker check
4762009 - Fix slot randomization order not being respected
317a724 - Avoid world lookup for special case handling of inserting into transporters
e4ebb42 - Remove capturing lambdas from transporter insert helpers
9aa016d - Remove more capturing lambdas, including those in multiblock structure validation
c87f6f6 - optimise out hot-path foreach
b65fd0f - optimise radiation calculation
a1d32f0 - Add javadocs to new api methods
adaf702 - Optimize the builtin ChemicalAttributeValidators to not require looping the attributes
7c82452 - dont add handlers to tile variables if they're not going to be used
07465a1 - trigger game event only on succeeding to store fluid
2ee7783 - Micro-optimize by using the empty Collections instead of the Collection#of variant as the empty Collection no-ops the results
302d520 - split out tile entities in the profiler using different method reference locations
0b68b91 - Fix induction providers accidentally ticking and split out some other call sites for purposes of how the profiler splits things up and to make it easier to eventually refactor some blocks to not tick
5008597 - Move chargepad client tick logic to the block type
45e7c0c - Remove unused client block entity tickers
1730b27 - Update bump min neo version to 20.4.223 to improve performance of our ingredient checks
84e793c - NO-OP most JEI methods when EMI is loaded to ensure that emi doesn't contain screen interaction handlers for both, and allows slightly speeding up indexing time
6e50d9a - Return that our ingredients we expose in UIs to EMI are not clickable and can only be looked at via the keybinds
d1139e3 - New Crowdin updates (#8045)
8f891fe - Bump version to 10.5.15
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 (https://github.com/mekanism/Mekanism-Feature-Requests/issues/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
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
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
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 (https://github.com/mekanism/Mekanism-Feature-Requests/issues/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
fb30c5f - Fix true dedication advancement
e553d4d - Fix removing modules disconnecting clients from servers
f55446c - Display what a bin is locked to in things like Jade
7603aae - Allow clearing text boxes by right-clicking them
8910190 - Make the gauge dropper transfer 250 mB by default instead of 256 mB to make it easier to transfer a bucket from one place to another
283053e - Actually fix empty locked bins not accepting items when double clicked with an empty hand
83c7032 - Fix certain cases where double-clicking to condense items into a stack wouldn't work properly in machines
164bb5a - Reorder QIO based advancements to not have them have a dep on polonium as they no longer require it to start the tree
2aa0e29 - Don't allow using a wrench to dismantle blocks that currently contain radioactive substances
cddc235 - Minor cleanup for a couple places we translate things
8eea470 - Fix capabilities not being invalidated when rotating a tile with a wrench
4f56533 - Fix missing chemical bar on the mekasuit when empty
6506162 - Don't directly pass keyPress or charType events to non-gui elements... Stops FTB Library from breaking enter handling in Mekanism text boxes
dba091e - Fix player momentum not persisting through teleporters in the same dimension
6d13eb0 - Remove clean from publish workflow, as theoretically it is always cleaned and will only contain the stuff we specifically want to cache. Hopefully this speeds up builds and doesn't break
f3ee85f - show percentage of jetpack fuel in HUD
f8fee14 - Add a per dashboard option to allow changing whether shift clicking items prioritizes open windows or the frequency (defaults to prioritizing the frequency) (#8027). Also fixes an issue with resizing the QIO dashboard when there are pinned crafting windows
4942528 - Always provide access to the inventory slots etc for multiblocks regardless of if they are formed or not to fix potential errors in the initial sync when opening a GUI
53dcfaf - Allow holding shift when using the QIO dashboard resize controls to maximize/minimize the dashboard
dae4b77 - use action bar for configuration card
89f227f - Link to wiki instead of main page given Aidan's site seems to be down
8a37da3 - Minor cleanup to LaserParticle
e94416f - Use vanilla's own render type for making the upgrades appear faded rather than a custom one
69e3334 - Use vanilla constant for max name length and doing an initial validation check of if a username is even valid
02d7f52 - Add a client side config for controlling whether JEI moves irrelevant items from the crafting inventory to the player's inventory or the frequency first (#8027), defaults to moving to the frequency
688802e - Make use of FluidStack#copyWithAmount
085c72a - Don't clamp the energy value of item containers that are dependent on other attachments (#8024)
1ec074e - Fix missing clearing a couple configuration types
c866e93 - Add a side tab for making it easier for players to change the recipe viewer reject target
33ba335 - New Crowdin updates (#8026)
f74513b - Bump version to 10.5.7
65a4dcb - Fix there being no model/state for when a redstone adapter is set to a frequency but the level is not met (#8023). And slightly improve performance/flow of qio component tick code
ab62541 - Fix not updating redstone with new emitting logic when the emitting state changes
d5ca221 - Do our best job to set the active state of qio components on placement
b2dff95 - Make particle addition for things like jetpack happen on client tick instead of on render tick
22532d6 - Expand supported transporter colors to all 18 of our colors. Note: This will cause existing colored transporters and filters to change colors to the new indexing (though they should still line up)
874818f - Persist current connections and acceptors for transmitters when saving, to try and have initial sync be more up to date
2973740 - Fix teleport button not working in portable teleporters due to the stack it is being cached on client side getting overwritten
7cf83a6 - Allow holding shift while using jetpack in vector mode to make it behave as normal mode. (Makes pillaring easier/possible while in vector mode)
b6f4f38 - Disable hover mode when in creative flight
d07490b - Fix double right-clicking bins not inserting into empty locked bins
4e78213 - Fix fluid not being visible in tanks when there is not much stored
55ce0a4 - Fix balloons not being the proper distance from entity's that have had their size modified
aec153d - Slightly adjust clear all sides to also support clearing for different types, and to support incrementing on substance's sides at once
31e567c - Use polonium and plutonium pellet tags in places that were accidentally referencing the direct item
aa5641d - Add support for pinning GUI Windows to have them automatically open when reopening the GUI (https://github.com/mekanism/Mekanism-Feature-Requests/issues/571)
9211ac5 - Qio recipe adjustments (#8021)
cd8a383 - Only accept "cheap" ingot variants for the muffling upgrade
d359279 - New Crowdin updates (#8022)
2a25aa4 - Bump version to 10.5.5