ccf0038 - Initial pass rewriting how the stored contents of QIO drives is done #6837. This is in preparation for 1.19 and does not support loading the data from old QIO drives
c678c4c - Remove stuff that was deprecated for removal and rename static capability helpers
e94d998 - Initial port to 1.19, it compiles but there are a few things that don't work correctly and the world doesn't load due to registry ordering issues
4d27966 - Fix a handful of issues, requires a custom forge build to actually get into game
1d5327d - Work on addressing various 1.19 related TODOs
a040492 - Make the majority of our registry id reading safer, and also make writing empty chemical stacks a bit more compact
7822e4a - Fix containers not being properly initialized
82b232e - Update forge so that the game can launch, update the dependencies that have updated, and rerun the datagenerator after writing a system to persist old caches
607bf9b - Re-enable biomes o plenty and byg datagen
595278d - Add recipes and tags relating to 1.19 and adjust dirt to clay recipe to have another step in between as dirt + water based on vanilla goes to mud
307dbc7 - Fix baby mobs mutating the experience reward when calculating what the reward is
984cca2 - Update baby stray's spawn restrictions to match the changes vanilla made to them
6fb2d39 - Fix a few issues and also datagen biome modifiers so that worldgen happens and baby mobs spawn
5d60f4b - Add motorized servo unit
6062309 - Update forge and deps, and re-enable some deps that have updated and add support for WTHIT now that jade has separated their api enough from hywla's
e9f75e7 - Datagenned Textures for existing pride Robit skins, also added more pride flags (#7512)
3fcebc3 - Switch from LogManager to Mojang's LogUtils
4b0d536 - Cleanup some things related to registry entry syncing
034e237 - Make getRegistryName helper final for our custom registry type objects
ef96387 - Minor cleanup and change the path of the visuals lang key and slightly generify the visuals too big one
c2c718e - Add an unlockable robit skin (#7517)
afb86f5 - Experiment and test using the structure modifier system and merge the baby spawn configs into the main additions' config now that things happens late enough to do so
03ceefc - Bump min forge version to 41.0.27 for use of structure modifiers and also update deps
0a7e42f - Only mark the tile's chunk dirty at most once per tick per tile while trying to save
6a6c421 - Add in some short circuit checks in FloatingLong for when interacting with zeros or in some cases ones
6df77e2 - Fix robit skin select sometimes selecting a different skin immediately as it is opened if the window overlaps where the button was clicked. Also slightly adjust baseplate of allay robit model to match
e272bba - Inline the remaining methods from spawn helper
1298e25 - Fix how evaporation multiblock cache's the solar capabilities in case an addon implements it and actually needs to fire invalidation and reduce duplicate neighbor updated checks
3d912ed - Bump min forge version to 41.0.28 and update to support the new fluid API
1b97f22 - Bump min forge version to 41.0.30 and make use of the new way to enchant stuff so that the mekasuit and the like behave better
67e51dc - New Crowdin updates (#7515)
4b48d0b - Improve how we calculate the input rate/last energy received for machines #7507
ca84255 - Ensure that mekanism's sub modules load after mekanism
b99b148 - Update deps and bump min forge version to 41.0.36 and fix both the jei integration and explicitly handle getOrDefault on config values where we call them earlier than the config is actually loaded due to vanilla needing values as we override the values later on, and the default is a reasonable enough value to give
ff44c4a - Remove unused faces that were causing warnings to be printed in the log for the robit allay skin
430ec27 - Skip looking for resource pack filters in datagen to remove lots of stacktraces from being printed
59c1cfd - Added advancements to Mekanism https://github.com/mekanism/Mekanism-Feature-Requests/issues/29 (#7470)
 
 Co-authored-by: Sara Freimer sara@freimer.com
0a0c432 - Minor cleanup to a couple data generators and add a recipe for cobwebs to string https://github.com/mekanism/Mekanism-Feature-Requests/issues/402
9887a69 - Make lower case boolean representation translatable
7608877 - Add a vibration game event for the seismic vibrator when it is actively running
725c376 - Lower base pitch of the beep sound effect #7522 and slightly refactor our sound datagenerator code
dd0609f - Make chunks loaded by the dimensional stabilizer fully tick so that crops in them can grow for purposes of keeping it running when using ethylene. Requires https://github.com/MinecraftForge/MinecraftForge/pull/8775
008f584 - Update forge so that our datagen can actually run again, and fix the qio drive array recipe being the wrong type and not validating the personal storage is empty and switch the personal storage advancement to checking against the tag
1babf0f - Restructure parts of our build script to further reduce duplicate code and also add sourceSets for use by gameTests. Also add two missing colons
d49a3b4 - Update deps, re-enable datagen for bop, and also re-enable flux networks integration compiling against the 1.18 flux networks
f16065c - Fix intellij run configs not working, due to where they expect the targets, by removing an old setting that seems to still work fine without it
6a61646 - Migrate from javax annotations to jetbrains annotations and remove our own custom NonNull annotation as now that forge ships with jetbrains annotations available we are able to safely use those in the API
44e9d09 - Streamline a few save itemstack to nbt calls
c7cd6c6 - Allow locking bins by sneak right clicking their front with an empty hand (#7526)
a66c29d - Added a canSeeSun ComputerMethod for the SNA (#7532)
b9889e7 - Fix having forgotten to add the pigment mixer to the blacklist of immovable blocks #7529
9e09cc4 - Fix electric pump not being able to fill completely when pumping and converting water into heavy water #7531
f883b79 - Update deps and bump min forge version to 41.0.60
d7521b9 - Gracefully handle blocks that don't support rotating #7540
db240af - Fix not exposing the radioactive waste barrel to CC #7543 and expose personal barrels, chests, security desks, and industrial alarms to CC for purposes of which direction they are facing
5fec09f - Add QoL decay timers to Geiger Counters and Dosimeters (#7544)
cfb6fd0 - Adjust to breaking rendering changes in forge and bumping min forge version to 41.0.91. Also update to use new RenderLevelStageEvent and use it to fix bolt rendering in fabulous
21e2e5e - Make use of some validation helpers that got exposed in ResourceLocation
afdd692 - Use safer handling for preventing calling client side only methods via FluidUtils#getRGBDurabilityForDisplay
a7c59d9 - Add a few helper constants to reduce object creation in places where a single reference will do
2981ffd - Address usage of a few deprecated methods
a4ca990 - Bump min forge version to 41.0.94 and account for breaking changes
cea95b3 - Bump min forge version to 41.0.96 to fix some bugs and remove reflection uses in some places
212873c - New Crowdin updates (#7518)
612c599 - Update deps to allow for running datagen again
6615138 - Fix induction cells exposing an energy capability #7552
287ea65 - Make it so pumps have to go through the block under them initially rather than being able to magically just pull from the side without having connected first via the bottom
9c05813 - New Crowdin updates (#7550)
1527ee4 - Bump version to 10.3.0
b454a9a - Some further minor cleanup with switch statements and converting to expressions
f7cd147 - Synchronize transmitter shape cache to prevent random concurrent crashes #7499
df64d3c - Fix removed transmitters taking their share of the network away and fix redstone sensitivity on single length tubes releasing radiation
1bf5489 - Refactor and cleanup parts of the gradle buildscript to make more use of gradle's lazy configuration system
7f7b3b1 - Use a few gradle helper methods
6c514fa - Fix issues with launching into the world due to a capitalization issue
8164da7 - Update deps and bump min forge version to 40.1.27 and make use of forge's new pack specific format versions and switch those over to being declared in our gradle properties so that when vanilla changes pack format we only have to edit it in one place
e6427c3 - Adds comma to Hydrostatic Repulsor Unit description (#7501)
c73957e - Added a Dimensional Stabilizer (#7433)
 
 Co-authored-by: Sara Freimer sara@freimer.com
38392ec - Make checking if a chemical is valid for a given validator easier
04a0530 - Bump min forge version to 40.1.36 to ensure forge's lighting pipeline is on by default
cc94a3e - Allow exclusive Modules to more accurately define what sorts of actions they are exclusive with (#7497)
6911c9b - Revert change to min forge version back to 40.1.27 due to the feature being reverted in a later forge build
b9bcd82 - Make factories persist sorting mode when broken #7505 and when upgraded via recipe. Also make fluid tanks persist their container edit mode
b0fea89 - Refactor backend of Jetpacks into an interface (#7493)
2b4f144 - Added fortune module (#7467)
57e3334 - Optimize image sizes
59159f1 - New Crowdin updates (#7495)
1e01609 - Bump version to 10.2.3
1a7e71f - Try to specify the exact version match for the Mekanism dependency of submodules, falling back to using just a dependency on Mekanism
9de61f7 - Just NO-OP our getCapability implementation if it is called before our entity has finished constructing #7490
b7caee2 - Improve overall item capability performance by keeping track of the capability cache on the top level instead of under each item capability helper, which also fixes persistent helpers adding to the same cache multiple times #7476
3ea3653 - Fix MekaSuit Helmet compass being off by one compared to F3 for values that are negative #7492
4862222 - Improve side calculation of blasting unit for blocks like slabs or snow
99dbfef - Allow specifying a position in the build command to build multiblocks at to more easily use the build command to get multiblocks right up against each other, and fix internal multiblocks thinking the structure is no longer valid if an external multiblock neighboring them changed state #7494
ced74dd - Fix equals and hashcode contract for a few records and also fix the memory leak in BlockTransmitter regarding the cached shapes. Key comparison broke in the port to 1.18 so each time the shape was queried it would increase the allocated memory. Also changed the key from a record to a packed short for better lookup performance and lower memory usage
7e56ce4 - Pack the transmitter key slightly tighter by fixing an off by one issue
d46e763 - New Crowdin updates (#7489)
9395a96 - Bump version to 10.2.2
b7917fb - Update example maven version to 1.18.2 and use a variable to specify java version so that we can easily mark it on curseforge as cursegradle doesn't support auto-detecting modern java versions
3f47601 - Fix config comment for discardChanceOnAirExposure
cf478e7 - Move energy and temperature display unit configs to common to prevent overwriting local changes when connecting to a server https://github.com/mekanism/Mekanism-Feature-Requests/issues/330 and deduplicate how many places we keep track of different energy types so that we just have one enum instead of three. Also disable showing energy types in the GUI if it is disabled or missing required mods (for example EU and IC2). Note: Due to the change of which file the display units are in any changes made to those two settings will need to be re-applied
84ccdd0 - Update deps and bump min forge version to 40.0.46 and adjust for changes to tool modified state so that we can properly support modded block hoeing interactions again
e5a6715 - Bump min forge version to 40.0.47 and add support to the nutritional liquifier for mods that have their foods give different amount of stats based on the stack data
d9ab250 - Refactor internals of security system and expose security and owner system to the API #6793. Also fixed/improved handling of the following issues related to the security system:
 - Fixed being unable to select QIO frequencies if the security system is disabled #7416
 - Removed the security desk keeping track of the owner given that is already done by the security frequency
 - Made the security desk only expose being an owner object so that it is universally treated as private instead of requiring special casing
 - Fixed security overrides not always being taken into consideration and also prevent them from being able to widen security access (for example from private to protected)
 - Cleaned up a bit of hierarchy relating to block item classes and removed the need for a bunch of subclasses
 - Improved accuracy of whether an item's contents should drop when destroyed without a player context
 - Fixed opening a personal barrel as an item incrementing the chest open stat instead of the barrel open stat
 - Improved handling of how the allowProtection config option is used
 - Fixed owner name fallback attempts running only when there is a name found instead of only when there is no name found
 - Improve security recipe merging logic for calculating most restrictive security mode
 - Made computer security mode querying return the effective mode
 - Properly kick people from gui's they no longer have access to if they got removed from someone's trusted list
 - Made the security mode of the robit always be synced so there isn't a desync when it comes to the crafting and repair guis
39ce538 - Switch to using tags for some AE2 recipes to allow deepslate certus quartz ore to be processed (#7455)
b5ec215 - Fix ProjectE mappers never running due to forgetting to update recipe type comparisons after we adjusted how we register recipe types
a6e3756 - Update deps
e91bd25 - Expose a few methods relating to the QIO to the API
6b28677 - Add cauldron interactions for fluid tank items when in bucket mode and fix empty creative fluid tanks behaving strangely when used as a bucket
0d2e511 - Add fluorite gems tag to parent gems tag
9229d88 - Fix fission reactors occasionally instantly re-exploding and also not releasing radiation the first time around because it didn't "fully" meltdown. Also, slightly improve logic for calculating if mobs can spawn on structural and internal multiblocks when they are not formed as well as properly track all internal multiblock components and further improve error handling if blocks inside multiblocks change when the multiblock is already formed
52ef598 - Prevent creative bin items when being destroyed from dropping their contents
102a1b0 - Properly update remaining null capability checks to checking for if the capability is registered as appropriate as they never should be null anymore just potentially uninitialiazed, and immediately add the resolvers for item capabilities instead of lazily doing it after we are sure that the capabilities are registered. Also fix not having registered our owner and security capabilities
a49168d - Fix removing chunk tickets when unloading due to server stopping #7453
5636680 - Add a ProjectE NBT Processor to include any stored contents in the EMC calculation of various blocks and items. This does not allow learning said presets or the items inside, but does allow for ensuring you don't have to empty it fully just to get the EMC back out when burning it. Contents without an EMC value are considered at a value of zero EMC
41b108c - Fix spacing
a593be9 - Misc code cleanup
100d915 - Expose IHasTextComponent to crafttweaker
325278e - Use helpers for some common usages of reading and writing to packets
fb7867e - Update deps and bump min forge version to 40.1.5 and switch our step height adjustments over to using forge's new step height attribute
d6bd898 - Bump min forge version to 40.1.16 to ensure that 40.1.15 is not used as the step height attribute was temporarily reverted in it
2fc833c - Fix code style link in contributing guidelines
c152bcc - Fix radiation resetting when returning from the end and also fix a few issues on servers where the client environmental radiation doesn't get updated at the proper times
36affd0 - Allow jetpack to function when in curio slots if enabled by modpack dev https://github.com/mekanism/Mekanism-Feature-Requests/issues/284 (#7446)
00580b6 - Added gyroscopic stabilization unit (#7469)
5cf9f6e - Added "bulk" (raw storage block) ore processing recipes (#7468)
6320344 - Fix #7446 having broken the jetpack module in mekasuit
57b176b - Disable CTM in dev to avoid it randomly crashing and fix SPS death zone not taking up the entire inside and cleanup some AABB constructor calls
768fd66 - Cleanup some handling of ItemDataUtils allowing for better cleaning up of parts of the NBT data (#7478) and reduced duplicate code when reading tile data
19b6f97 - Fix floating cuboid in Atomic Disassembler model (#7479)
c305e31 - Fix a couple CMEs on server startup that FC was experiencing
55b46a3 - Update and bump min CrT version and add expansion helpers to game and mod for getting all of various registry types we add
c8752c0 - Fix lgtm analysis unable to run due to it only supporting up to java 14. Using gradle toolchains it still compiles using java 17 but we have to run gradle itself with a version lgtm supports
1b92aab - Armored Free Runners #5221 (#7434)
43f8e48 - Make MekaSuit armor value configurable https://github.com/mekanism/Mekanism-Feature-Requests/issues/372
7be2b66 - Added the Hydrostatic Repulsor Unit (#7477)
dca8122 - Don't show night vision particles for MekaSuit vision unit
9e01085 - Fix rendering of bundle contents and custom tooltip components that draw. Also improve the z levels that "popup" windows are drawn at when there are multiple of them to ensure we avoid any clipping between windows and fix popup windows with items leaving the items accessible after closing the window
6a55532 - Add some missing block properties from the port to 1.18 and proxy shapes better for bounding blocks
502e14e - Minor optimization to insert check to check if the target insertion is full before checking if it can stack as if it is full it doesn't matter if it can stack
ccbf684 - Fix a few machines ejecting their input when set to eject and input/output on a given side #7486
15e464a - Perform a little cleanup related to how upgrades are read and also optimize some logic regarding recipe upgrade data including fixing slots in upgrade window not properly merging or persisting when crafting the item into another one. Also fix a minor issue with shift clicking qio drives out of the drive array not properly saving/updating when in creative
c365ef3 - Added blasting unit (#7473)
5ceaacb - Cancel block break events if the player doing the breaking doesn't have access to the block
a435bd5 - Update deps and bump min forge version to 40.1.18 and switch to using plugin new plugin format now that forgegradle publishes plugin markers
759f091 - Provide the donation links in the readme via github's sponsor buttons
188d050 - Add support for automatically publishing to Modrinth https://github.com/mekanism/Mekanism-Feature-Requests/issues/348
1a19571 - New Crowdin updates (#7445)
3914c69 - Bump version to 10.2.1
8f34fef - Downgrade grgit to a version that can run on java 8 so that it can be run on our jenkins
0f375c2 - Initial port to 1.18.1 needs a few mods to be built manually and put in flatDir to compile and needs https://github.com/MinecraftForge/MinecraftForge/pull/8352 to get into game. Also has a good number of things that need fixing/testing
01ec3ec - Address a todo related to serialization
f5237c0 - Add extra validation to our tag generator to ensure we add harvest tool tags to all blocks that require the correct tool and go through and add them to blocks we hadn't done so
a0237cd - Use maven local to be able to use a custom forge build to load into game in dev, also only build against projecte's api instead of all of it
044cb48 - Merge IChemicalStackIngredient and ChemicalStackIngredient
1d3fb17 - Work on cleaning up some TODOs such as removing legacy name loading support from modules
4fd8e15 - Fix issues related to some changes in container syncing, and remove some workarounds we had for tracking ghost stacks as it simplifies the logic a lot and vanilla seems to have fixed the issues on their end
fbc25e0 - Perform a couple renames to methods/cleanup calls
6135c5e - Rework fluid logging property to be an enum property so that it can provide more information in F3
227d065 - Make use of some new java language features and fix some javadoc issues
cb2e664 - Fix the model for baby enderman, and make baby skeletons that freeze turn into baby strays
c9ba5cb - Cleanup the remaining TODOs in Mekanism Additions, improve the particle positioning for popping balloons, and add some elements to vanilla tags that make sense
57b7a1b - Work on TODOs in the API, and remove some side params from capabilities and instead have the side be gotten via returning a different capability implementation via getCapability
af8d59c - Fix server being unable to launch
c3ed5fb - Continued work on addressing various TODOs
eff44e6 - Fix crash when rendering of custom wire meshes due to adding data to the vertices in the wrong order, and fix mekasuit rendering having issues. Also fix radial menu sometimes not drawing the background
774baf4 - Make refined obsidian require diamond tools instead of iron tools as at some point vanilla made it, so you can't harvest obsidian with iron
3c20f40 - Improve handling of expanded height range
9af0e53 - Fix rendering and adding data to Jade and made it redirect the bounding block to the main block for purposes of getting the name. Also added support for viewing energy levels of robit's when looking at them for both Jade and TOP
146f57c - Fix JEI recipe click areas not working
c46c074 - Fix a variety of issues related to rendering and also remove some extraneous setShader calls as blit calls setShader for us
927ba12 - Convert nutritional paste to a fluid #7102, and also rename "Liquid Osmium" to just "Osmium", and make it so our buckets have fill and pickup sounds
038017e - Switch off of a custom forge version and also fix some things related to fluid pickup sounds
c887478 - Minor cleanup and make the robit repair screen use our text field rather than vanilla's directly so that there is less we have to implement and fix a couple related issues
0965fea - Reintegrate CraftTweaker support, JEITweaker support is still disabled
d14066f - Fix a couple minor CrT related outputs and expose data from our recipes to CraftTweaker and expose more methods on our ingredients as well
d7ce35f - Add support for mob effect tags to the dictionary
2f155d1 - Fix miner often resetting instantly after hitting start
94dd098 - Bump min forge version to 39.0.18 and remove copper ingots, ore, and blocks switching over to forge's tags and vanilla's items in recipes
096f3eb - Updated ore textures, added raw ores, raw storage blocks, and deepslate ores (credits to rid for the textures)
9c1a1b1 - Initial pass adding new ore processing recipes
2713e8a - Re-enable JEITweaker integration
8418e2d - Fix crash rendering items in the logistical transporter
0d8449b - Refactor how ores are configured and added to world gen to allow for multiple veins and even more configurability (default values have not been updated yet)
c4f1c68 - Update deps, bump min forge version to 39.0.57 and switch to CF versions for ilikewood related deps now that they are all updated and work properly together
21ecbf2 - Cleanup handling of removing blocks and tiles as setRemoved is now called for both removal and unloading, and permanent removal should happen from the block's onRemove method. Additionally:
 - Cleaned up handling some for placing bounding blocks to only need to be declared in one place instead of in an onPlace and setRemoved
 - Implement Clearable on turbine rotors so that using the set block command on them won't drop the rotors and call it for our build remove command
 - Revert some stuff related to how we fixed #7053 and rewrite it in a way that will work fine without creating memory leaks once https://github.com/MinecraftForge/MinecraftForge/pull/8417 gets merged
7d71e2e - Address and fix some TODOs related to 1.18, notably: fix mem leak for oredictionificators and also transition mekanism tool's materials over to using forge's tier sorting registry
5519470 - Optimize images
1a5965c - Modernize handling of personal chest lid
1ee94fb - Make gradle run tasks end gracefully and as "success"
27529db - Initial test of new ore gen distribution values
8af8a43 - Add support for giving custom names to machines #6371 (#7398)
7371abf - Expose getComparatorLevel of tiles that support comparators to computers (#7388)
6dd51cd - Update some of our AE2 compat recipes to work better with the changes AE2 has made in 1.18
11404b1 - Update deps, bump min forge and switch to proper cobblestone type tags, and fix height of personal chest gui being slightly taller than it needs to be
a18176b - Expose all of our computer methods to OpenComputers 2, add a bit more error handling to our annotation scanner and fix an accidental hard dep on CC for purposes of being able to scan the energy helper
280920b - Refactor our annotation processor to be slightly more generic, use json, and map the parameter names of our computer methods so that we can attempt to provide them to OC2 so that it can provide cleaner names when listing method signatures
82f2d27 - Expand our computer method mapper to be able to merge multiple param mappings so that if mods have their own file they can then be included, also adjust the mapper to be able to properly calculate signature name of inner classes so as to not have to adjust signatures at runtime before lookup. Also fix not generating parameter names for exposed computer methods in mekanism generators
030fb1d - Update a couple lang entries and make ore combining recipes require raw ore where applicable rather than dust
b9786e6 - Update to upcoming JEI API changes https://github.com/mezz/JustEnoughItems/pull/2701 and fix declaring rotary condensentrator outputs as an input and fix crystallizer category not rendering quite correctly
b842f73 - Adjust to some further changes in JEI and also transition some recipe representations that weren't lists to lists
3c4b1ae - Adjust to further changes in JEI and implement more methods in our ingredient helper so that JEI can try and guess at when our chemicals support any of a given tag
bce0e8e - Rework how we expose ingredients to the API to not expose implementation details and to add more validation to ingredient creation
8906d95 - Update deps and bump min versions of a few things
df7505c - Replace a lot of uses of pairs with more specific records to make it easier to keep track of what piece means what and also allow for primitives in places
5c39f43 - Rename pressurized tube config category to chemical from gas
f1903de - Fix our fake player returning the wrong position and block position due to how forge handles things
5ebfd54 - Add a little more validation to record construction in the API
ce1bb0b - Ensure we know the bounding block has received the coordinates before potentially querying the main pos that may be at the origin and not a loaded location
faa18ce - Adjust how we check if a chunk is loaded so that we don't always get true on the client side. Hopefully this doesn't break some of our uses in unexpected ways. Also only process update packet tiles on the client if the block is loaded which fixes logging when transmitters send an update before the client has finished receiving the chunk
54e2090 - Fix lighting in robit skin select gui and change how we draw tooltips to use absolute positions instead of relative due to the changes in tooltip rendering to ensure our tooltips get properly wrapped when overflowing the screen
1ad7e36 - Rename tile entity type tags in the dictionary to block entity type tags and change the tooltip for cardboard boxes to reflect tiles being called block entities in other places
5479ca6 - Deduplicate a lot of our cached recipe implementation code and refactor things to enable keeping track of errors with the recipe and hook displaying those errors up into our warning system. Also added basic support to our Annotation based SyncMapper for arrays of property data.
8291fda - Slightly refactor package structure for ingredients and inputs
d6a23ca - Draw gauge overlay in PRC JEI category even if there is no output gas
81da3e3 - Add extra validation when trying to set a tag or modid filter to validate that there are elements that would be matched. Also fix the rendering sometimes being wrong for modid stacks and potentially even material stacks. Also change filter failed messages to display for five seconds instead of just one second
4deb918 - Update and bump min forge version and transition over to a more proper way for how we hide some data from tooltips
95e091c - Rebalance default miner configs to cost more energy, and also adjust the energy cost calculations to properly take into account the max radius config, and also take into account the height range of the world the miner is in. Also add energy warnings to miners, pumps, plenishers, and vibrators (only can display with default configs for miners); and add output full warnings to pumps.
0302f18 - Fix issues with farming and shearing unit from porting and support other new axe actions
56ae20d - Update JEI and adjust setRecipe signatures to the newest version
b0d896d - Implement support for dropping contents of Mekanism's items if the item entity is destroyed and the destroyer has access or the security is on public. Not yet tested and requires https://github.com/MinecraftForge/MinecraftForge/pull/8473
82ea9b7 - Create a system to allow addons to define custom module model locations and model renderers. Move MekaSuit Solar Recharging Unit to Mekanism Generators and make use of this new system
54e8718 - Only create one instance of BlockEntityRenderers for ones that are shared between multiple block entity types
40e7b39 - Fix night vision module fog rendering. Might be a bit different but it is close enough
df56889 - Only sync carried stack when a gauge dropper is used instead of the entire inventory
71956f5 - Properly update how we mark tiles as needing saving and improve handling so that we don't mark them as needing to recheck for a comparator change if we know the thing that changed doesn't affect comparators. Also make the bio generator's comparator level be based on fluid instead of item
7c81f72 - Fix laser not rendering
fb45532 - Slightly rework some stuff related to cached recipes to fix improper calculation of not enough energy reduced rate and remove some unneeded checks in the rotary condensentrator
dda9a92 - Fix evap tower and SNA recipe processing max operations
71a3b86 - Fire different vanilla game events where appropriate
1f8ed69 - Use interaction results in a way that more closely mimics how vanilla uses them since the addition of consume
fc1ffe9 - Wrap floating longs as doubles for exposure to CC to simplify usage/defining and interacting
2aded37 - Bump min forge version to allow for our items when in item entity form to drop their contents if they are public or are destroyed by a player that can access them. Also entirely remove the energy cost for shearing blocks with the meka tool and make it so that checking if a module provides a tool action is more efficient if the module has other prechecks it needs to run as well
ae2cc96 - Fix issues from merge
a83854e - Fix some constant usage recipes occasionally resetting
bca8823 - Update gradle to 7.4 and update deps
ec98296 - Expose formula slot to automation via extra side config and allow automation to extract from it https://github.com/mekanism/Mekanism-Feature-Requests/issues/246
ab515bf - Expose max energy storage for the laser amplifier, tractor beam, and all basic generators to the config https://github.com/mekanism/Mekanism-Feature-Requests/issues/353. Also remove a few declarations of energy values in places they aren't actually used
9f01224 - Finish figuring out retrogen and make it so that we don't save a new world gen version to a chunk if we haven't gotten a chance to retrogen it yet
59645ee - Slightly adjust how we load the transmitter contents model
294afb1 - Set it up so if we ever need offset level events that the bounding block receives we can use them
3aa0eea - Make lasers respect ShieldBlockEvent and requite the blocker to be facing the laser to actually be able to block them
1e5ff6a - Rerun code formatter and optimize imports
b7d11ac - Address a few of IntelliJ's inspections
b4b7078 - Split GuiGraph into GuiLongGraph and GuiDoubleGraph to allow for more accurate numbers for the fission reactor when displaying historic temperatures #7408
31ac4ec - Increase chest open stat when opening personal chests and make piglins angry when a player opens a placed personal chest
d2834ba - Block 1.17/1.18 damage types for the MekaSuit and check all fall types instead of just the old fall one for things that prevent fall damage
51b5f4c - add new language mappings
e5f29df - indentation fix
9782b49 - Add a bunch of QoL/utility recipes for 1.17 and 1.18 content, and also allow the robit to walk on top of powder snow, and add the mekasuit to the freeze immune wearables tag
b8ce251 - Pass the entire tooltip flag now that it isn't stripped from the server
d902d1d - Don't add our gui elements as narratable so that the narrator doesn't just say indices. Eventually we will try and transition some of them over to actually being narrated correctly, but for now just disable it
3b3c6e6 - update lang values to always use explicit indexed substitutions and complain in datagen if they don't
18a42fd - Clamp wind generator config values (still likely to be adjusted before a release is made)
8e99c5c - remove Travis badge as it no longer works after migrating to paid
80aff4f - Apply max damage to vehicles when using the atomic disassembler or the meka tool (without consuming energy) so that they can break in one hit #7423. This uses a tag so that it can better be extended to support modded vehicles. Also take the base damage value config for the Meka-Tool into account in a more logical fashion when attack amplification units are installed
764947a - Support one hitting BOP and BYG boats as well and perform a bit of cleanup on our tag builder
5d6fb0e - Initial port to 1.18.2, building against https://github.com/MinecraftForge/MinecraftForge/pull/8495. Also made the following smaller changes:
 - Improved dictionary's right click detection of fluids and displaying their tags
 - Add support for display "attribute tags" if any mod decides to add them (all remaining vanilla registries don't make much sense in relation to items and the like for a way to look them up)
 Note: Datagen still needs to be run to fix a variety of recipes not working among other things but until more of the deps our datagen depends on update this is not possible
5be98b9 - Some small optimizations to tag contain logic for chemicals and replace a couple other tag contain checks to avoid calling deprecated methods
0c517bd - Slightly cleanup our Jade integration as given 1.18.2 was a breaking change we can update to their adjusted API without requiring disallowing any old versions from being used that would otherwise work
3970740 - Update to the new way of interacting with registries
7de225d - Update how we declare recipe types in JEI as they now have their own thing instead of just being purely resource location based
8c832d0 - Fix a couple missing checks for when multiple substances are stored and have overlapping tags
82a913a - Rerun datagen in 1.18.1 using paths and expected data for 1.18.2
ac3be3a - Add a Personal Barrel and make the Personal Chest not be able to be opened if there are blocks on top of it (same restrictions as vanilla chests, but it can still open in your inventory)
d8551af - Update to a couple changes made in ProjectE and update and bump min forge version to 40.0.18
e94dd96 - New Crowdin updates (#7420)
02870bd - Make transporter speed config comment clearer
ae391aa - Switch to grabbing ProjectE from cursemaven now that it is released. Closes #7430
a04ec89 - Work on update CrT to 1.18.2 and adjust for changes made in it. Also expose chemical attributes to CrT for more than just chemical creation and expose a variety of other methods on various classes. Also updated deps and fixed a few issues with datagen
2346f09 - Fix some of mekanism addition's recipes being in a different folder than intended
4f0c4f2 - Bump min forge version to 40.0.30, remove our IngredientWithout and switch to using forge's new DifferenceIngredient. Also cleanup a bit of logic relating to multi ingredients
7979b6b - Implement and add support for handling Recipe#isIncomplete
9ab52eb - Make it so free runners and mekasuit boots allow you to walk on powdered snow
73c46ad - Ensure ILikeWood has the proper configs loaded for given items given they adjusted how they register if items exist in 1.18.2
975cf15 - Fix being able to break blocks by putting the pigment mixer under them and unify and simplify logic for validation
7d89c1d - Add support for Wildfire's Female Gender Mod
50af70b - Perform a bit of minor cleanup
c2f7f57 - Drastically improve jetpack is on ground check #7436
82ce593 - Address a few more TODOs
53841fd - Slightly cleanup some logic in our holiday manager, and reword the config a bit and make it also control all easter eggs not just some.
287a84f - Bumps min forge version to 40.0.35 and switch how we register to vanilla registries to use deferred registers now that it is possible to register to vanilla registries using them
075ccc3 - Switch back to CraftTweaker's Maven
0fd3ff5 - Sanitize narrow non-breaking spaces as well to improve how MC renders our formatted numbers on some locales
6f52102 - Expose JEI ingredient helpers to the API https://github.com/mekanism/Mekanism-Feature-Requests/issues/366
34df19b - Fix not proxying Recipe#isIncomplete to our mek data recipes causing them to not work properly in the QIO, and also fix a few things using our special shaped recipe that can just use the normal shaped recipe
797168b - New Crowdin updates (#7427)
4657b50 - Add helper methods for inserting/extracting from QIO frequencies and support for simulating doing so. These will eventually be properly exposed to the API
0ba4aae - Update the oredictionificator's description to mention tags
9ec9ae8 - Update deps and disable alpha warning in preparation for release. Bump min forge version to 40.0.44 to fix balloon recoloring recipes and take advantage of some helper methods that were added to RegistryObjects
2a77523 - New Crowdin updates (#7443)
7ab3ae5 - Update JEI to 9.7.0.180 and fix references to deprecated API
436dbf2 - Bump version to 10.2.0
e95d2b7 - Fix building by switching from CC's maven to curse's maven
a224d98 - Backport a couple JEI fixes from 1.18:
 - Gui elements in categories not being ordered leading to potential rendering issues
 - Rotary condensentrator categories not having fluids marked properly for if they are an input or are an output
76466be - Backport fix for describing rotary condensentrator recipe outputs
19b5699 - Strictly specify as in the API which atlas the chemical textures are stitched to
3f4f580 - Fix not being able to view recipes or usages by pressing R or U over items stored in the QIO's main inventory #7384
6a5a767 - Fix nether gold ore combining recipe using our gold dust instead of the gold dust tag #7409 and also fix some minor dupe issues related to using a stone cutter to get more of an item #7413
89721bf - Prevent against checking if a position is inside a multiblock if it isn't valid so has no manager #7394
930ba69 - Expose getComparatorLevel of tiles that support comparators to computers (#7387)
786393a - Lazily setup the logistical transporter's item render to ensure things like sponge that mixin to the constructor don't have issues with the world being null even though it isn't being used yet #7411
317dcad - Only call updateOutputSlot if we actually need to recalculate the output AND also do so whenever the stacks cannot stack so that it doesn't cache an output from a previous match for a given recipe #7396
638f538 - Fix being able to extract half of a crafting window's output while using all inputs instead of forcing it to provide the entire stack like vanilla's crafting window does
71f77ef - New Crowdin updates (#7375)
ac0aaa8 - Bump version to 10.1.2
4267179 - Use enqueueWork in ClientSetupEvents for things that are not backed by a Concurrent Map #6775
d20a048 - Fix syncable itemstack syncing empty stacks when nothing actually changed. It turns out ItemStack#isItemEqual checks to make sure the stack is not empty and if it is, returns false even if the other stack is also empty
3bd3fb2 - Fix having moved too much stuff to enqueue work in client setup in https://github.com/mekanism/Mekanism/commit/4267179e2fe53b2758c5bc47c5c01f0a1077fad2
3b80bdf - fix NPE when getGameProfile called from a superclass' constructor
a63277f - attempt to prevent null for #6856
50f5668 - attempt to prevent infinite explosions when forge event cancelled
285d0df - Add a message to the null pointer crash from ol man optifine
e33320c - bump version to 10.0.19
fb9a08c - Updated the maven version in the readme (#6777)
521c257 - New Crowdin updates (#6772)
b05e24d - Update extra.png
fc10af0 - Only allow the nutritional liquifier to consume foods that would produce paste #6659
2a77729 - Adjust xp smelting amounts to be more inline with vanilla, turns out different ores have different xp amounts they produce and I was basing it off of a different one than I intended to
adc9a6f - Various fixes to transmitter/transporter networks - Fix network reader counting multiple connections to the same block as one acceptor when they may have different inventories so should all be counted separately - Fix upgrade data for logistical transporters not properly copying transporter stack reference data and thus causing it to get stuck because it thinks there is no room as it doesn't properly remove in transit stacks when they finish transferring #6660 - Cleanup some code related to upgrading transmitters
31fc74b - Cleanup build.gradle, update some deps, and fix all jar not properly merging tags (#6661)
8789f61 - Fix not registering our configured features because apparently there is a vanilla registry for them that we need to register to so that they don't potentially cause issues for other mods
9df9cf8 - Improve accuracy of using amount on energy tab #6658
d83f136 - Update mappings
f63a67f - Improve multiblock formation error messages for fission reactors #6663
1661cc6 - add AE2 ender dust crushing recipe
7dfb437 - Improvements to TransporterManager so that if it is sending to two different sides of the same block and they have "different" inventories then it doesn't exit early so can start sending items to the second inventory without waiting for the first inventory to finish transferring. For example sending enriched redstone and iron ingots from a chest into a metallurgic infuser. Also updated some docs and slightly reorganized the order of a few things in the TransporterManager
78e9416 - Finish implementing dispenser support for fluid tanks in bucket mode so that we can have "smarter" logic than the forge one uses once it is eventually fixed
5a6b895 - Fix the laser and flame thrower not being able to hit things like sugarcane or kelp
21c2144 - Override createSpawn packet for baby mobs, it worked without it because of the similarities in the spawn packet, but using forge's helper is safer and will make it so that if we want to add extra data we can easily
4d79d69 - Update README
2eedb85 - Fix having accidentally broken grabbing properties for user info
c331d7b - Fix logistical transporters not properly removing their stacks from being en-route to a destination from the transporter manager, and then causing issues that it thinks there are more en-route stacks than there really are
46a75e4 - Force run datagen by locally reverting mapping update so that AE2 doesn't crash during datagen
e28c810 - Deduplicate a bit of code between baby mobs and fix the eye height of baby creepers and endermen being slightly off
e26311c - Remove unused and not properly working experimental slope methods from VoxelShapeUtils as we can always look at git if we end up needing them for some reason
d5fa1d9 - Deduplicate some code and comment out a debug output from the all jar merger
825a475 - Fix some things causing re-equip animations that shouldn't be, and adjust how energy capabilities are set on some items so that they more likely to properly update when a config changes at runtime
33a142b - Limit some rate bars that could draw past their max element space in specific conditions
c4b7f44 - Add example of what a modid is #6674
524b6cf - Bump min forge version to 34.1.40 to ensure that we don't get blamed for other mods having bad code and crashing
0397a17 - Update dev version of forge and adjust our model data generation for buckets to use forge's model builder instead of our hacked together limited one
9efa0d0 - Update to 1.16.4, maintaining support for now with 1.16.3, until we need something from forge that is new to the 1.16.4 version. The name of the jars will still only specify 1.16.4, but they will also work on 1.16.3
a65a51e - Adjust world generation config handling to be more dynamic and not require a full restart for values to be updated or changed such as enabling or disabling an ore, and make the top and bottom offsets configurable again. While in theory this allows for changing the values of the world config at runtime, it is still definitely recommended to not have the server or a world running while making changes
b66ea13 - New Crowdin updates (#6667)
7c39b91 - Bump version to 10.0.16
a01c7fa - Fix me being dumb and only updating the loader version range in the main mods.toml causing the other modules to not work properly
0a5b5d6 - Fix maven publishing url
6062ede - Bump version to 10.0.17
0287e5f - Actually fix maven upload url
b1b86b4 - Update JEI and cleanup generics to allow for it to compile against the newer JEI. From my testing it seems to still be able to load on older versions of JEI and also have older versions of mek load on newer versions of JEI
676e785 - Bump min forge version to 32.0.104 and update how we handle log stripping, and ground tilling to use the new forge method rather than having using ATs to access the lookup maps
1ef2dd9 - Patch silk touch meka-tool still having ores drop xp (#6427). Note: stops other mods from easily being able to add extra xp drops to blocks when they are getting broken with silk touch
fd596d7 - Fix some improper edge case checks when it comes to checking if empty containers can be extracted (#6425)
a857279 - Update list of materials axes work against to match that of vanilla (#6430). Also fix the paxel not properly spawning particles and making a campfire drop its contents when extinguished
6d192cf - Make empty canteens display "Empty" instead of displaying "No gas" as the fact that nutritional paste is a gas internally is not important
550489c - Revamp dictionary item: - Added a description to the dictionary item to make it more clear what it is used for - Now supports showing the tags for blocks, items, fluids, entities, gases, infuse types, pigments, and slurries - Right clicking an entity or fluid in world now shows their tags - The dictionary's GUI now has a dropdown to view the different tag types that something supports. For example block items that have tags for both the block variant and the item variant now show both (though right clicking on blocks in the world is still likely to provide better results in cases where the block variant of an item cannot be properly determined) - Make the target slot in the dictionary GUI be a "ghost slot" so that things can be dragged from JEI into it (https://github.com/mekanism/Mekanism-Feature-Requests/issues/87) - Also fix a few misc issues with scroll lists losing contents/selection index when resizing the minecraft window and make all the click sounds in GUIs properly respect the mek sound config instead of only some of them
930428b - Make the description for the QIO Exporter clearer (#6457)
375f006 - Fix GuiElement child nesting not properly syncing the individual children
188c38d - Fix the QIO container allowing extracting items in larger stacks than their max stack size (#6458)
50c5cce - Transition a few missed ints to varints
52ebee1 - Use our own system for calculating comparator level for inventory contents instead of forge's helper so that we can use our more specialized IInventorySlot#getLimit method to allow for properly calculating the value of things like bins (#6454)
4209310 - Make the delay for the industrial alarm turning off less noticeable (#6452)
5e128d6 - Added config option for disabling extended vein mining for the Meka-Tool (#6453)
4eb2eae - Replace Atomic Disassembler mode switch with radial selector. (#6422)
3326bd1 - Bump forge version and min forge version to 108, update dependencies and move registering our model loaders to the correct place now that there is a correct place
959100c - Make the proper tool type for plastic blocks be a pickaxe instead of there being no proper tool (#6432)
e135cc7 - Fix factory auto sort checking the wrong process for cached recipes so allowing items into inputs that they can't output to
dc022e2 - Save and load cached comparator levels so that tiles that depend on their world for their levels don't have issues (such as logistical sorters)
68503bf - Don't allow modification stations to be rotated with the configurator (#6444)
623a42e - Minor cleanup to how a few colors are applied
061cab3 - Fix missing render call from turbine model causing the blades to be floating instead of "connected" to the rotor shaft, also fix the rendering being a bit off for the bottom blade of a rotor of height one
fc8de2d - Fix some text rendering not using the proper colors if a resource pack changes them
1901bd0 - Rerun formatter
6a11e27 - New Crowdin updates (#6420)
5739653 - Bump version to 10.0.9
c5b71d6 - Fix electric bow being stackable #6224
628fd54 - Add solar generator energy bar back (#6237)
225859d - Fix Electric Bow shooting animation (#6233)
2b522c0 - Fix seismic reader scolling buttons (#6242)
4052082 - Fix accidentally still wrapping a packet buffer #6238
f0f5bab - Mark bounding blocks as not allowing movement when queried by pathfinding #6200
6fe9bce - Update Wood Gasification to atleast for logs and dust return coal dust (#6241)
9d127e1 - Fix read/write location mismatch for retrogen
e2fbde5 - Bump version to 9.10.9
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.
e49fd28 - fix fr_fr translations
c10ae2f - Fix blocks not keeping energy on breaking #5768
82e7854 - Fix free runners not preventing fall damage, and scuba gear + gas mask not preventing magic damage #5770 The listener was being registered on the wrong event bus
0099326 - Update dev forge version, and add an override to make sure contents are always rendered even if the amount is very small. #5766 - Eventually this should and can be expanded to other things calculating scales
5aef8d8 - Move tag creation to data generators
8bce87d - Add back accidentally removed balloons tag
04c9d6d - Minor cleanup, and fix edge case for EnergyInventorySlot validity check <a href="https://github.com/mekanism/Mekanism/issues/5773"
rel="nofollow">#5773. Also remove no longer needed HWYLA integration, as it seems to be able to work properly without special hooks
acb8905 - Fix Portable Teleporter not working properly
a9c6b59 - first pass chunloader rewrite
7f9929e - move dupe variable out of blocks, add a null check
e315851 - minor uncheck cast fix
6c61d48 - add non-null getWorld
1579d49 - chunkloaders part 2 - functional, but susceptible to the force chunk being un-forced
37dc1e9 - update travis config & readme image/link
af3d760 - Fix crash on server when using lasers or things that check the LaserManager. #5774 Also bump forge dev version to fix items in JEI looking faded
47a0123 - Fix accidentally putting the balloon tag in the wrong domain
298e7c1 - Cleanup implementation of tile sounds, and move the wind generator back to the weather slider. Also fixes the issue where some sounds were not effected by attenuation distance because when Minecraft switched from paulscode to OpenAL, some sounds broke working properly as OpenAL only supports mono sound files. #5776
127215b - Fix baby skeletons having the wrong eye height and move speed values. #5755
0bde074 - Partially cleanup the code having to do with retrogeneration #5778. NOTE: It still does not work, but more of the background structure is now ported
a0da04a - Fix crash when auto mode is turned on in the formulaic assemblicator #5769
bd181f3 - FG3 does not use setupCIWorkspace
2957488 - move to custom chunkloader manager (no vanilla forced chunks)
486d1cb - Move Tools module recipes to being made with a data generator
d9ec680 - Move Additions module recipes to being made with a data generator. Still have to convert enriching recipes at some point
120c545 - Fix JEI not showing filled variants of items
3bf4854 - Fix how Gas upgrade support is registered to different machines, and fix purifying and injecting factories not supporting gas upgrades at all
4d15d4a - Make some API classes to allow creating DataGen's for our recipes/tags easier - More work still needs to be done, as we are storing some recipe builders in the data gen module instead of the API for now due to not having access to the serializers in the API package currently - Rename some classes in the data generators to better match the naming forge gave vanilla of having it be Provider instead of Generator - Testing of the various builders also needs to be done, but that will be done in more depth as things are transitioned over to using them - Made is it so that the recipe serializers can handle NBT on fluids properly - Moved the enriching recipes that create slick plastic to the additions recipe data generator, so that all of additions recipes are now done via data generators
7409fa7 - Reformat code/optimize imports
71f8182 - Deduplicate a bit of deserialization code, and move the recipe builders for Mekanism's recipes to the API package so they can be properly used by other mods without requiring more than building against the API package.
55d34d0 - Properly handle the fact when the frequency manager is null on the client connected to a server #5787
27ccc96 - Fix a couple bugs with upgrading transmitters, and allow the upgrading to propagate the entire network if you keep clicking on the same transmitter. #5780
65a1e2b - Convert generators recipes to using data generators and clean up formatting of other recipe generators to be more readable in code. Also fix tags for gases and infuse types tags getting loaded after recipes attempt to be resolved, so that tags do not exist initially and the recipe fails to load
22f7ddf - Fix chargepad back texture being a bit screwed up
a3bff2d - Bump version to 9.9.3