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.
a11d886 - Restructure Configs and add support for NeoForge's Config GUI (#8166)
- Adds support for editing our configs using the config GUI, and for translating their contents. [#5794](https://github.com/mekanism/Mekanism/issues/5794)
- Restructure organization of entries within individual config files. This unfortunately will cause all configs to get reset as I removed a parent level node in order to make the config GUI easier to navigate.
- Fixes Mekanism's Additions description translation not being used in game
- Flip Mekanism Addition's voice key is toggle config to a push to talk config option. (Same default behavior, just is a bit better of a name)
- Slightly lowered the default `dumpExcessKeepRatio` config value (from `0.9` to `0.85`)
caae13f - Move baby biome and structure spawn blacklist to tags (syntax using mekanismadditions:blacklist_baby_creepers and the like). Also moved the wind generator's dimension blacklist to a dimension type tag c:no_wind and fixed wind generator item rendering bugging out when in a blacklisted dimension
9d63a28 - Bump CurseForgeGradle, and stop declaring it as not compatible with the configuration cache
6212343 - Remove a few unnecessary parameters and casts in the JEI integration
8a8e25f - Address JEI deprecations
9cc8430 - Restructure how we define aliases in preparation of JEI's upcoming ability to define aliases
4c2468e - Check curios slots for radiation shielding (#8216)
b2ced69 - Fix inverted check for if a block supports specific upgrades during recipe upgrading (#8217)
cc03d66 - Skip extraction checks from tanks/containers when none of the capability caches have a capability present
7503eba - Re-use direction and config suppliers throughout the various capability helpers, and use singleton instances for can input and can output checks
8f44b8f - Prevent stacked fluid tank and waste barrels from auto ejecting more than the one below needs (which would then lead to it attempting to insert against itself/any that are above it)
c1a6935 - Adjust config supplier usage again in holders to just reference an ISideConfiguration to avoid initialization order issues
b353206 - Avoid codecs as much as possible for syncing fluid tank contents, as there is a chance that there are a lot of fluid tanks in a close vicinity
089b919 - Perform a few more optimizations to ConfigHolder#getSlotInfo:
- Don't check if we have a cached slot info if we just cleared the cache due to the side changing
- Lazily cache the ConfigInfo object as that doesn't change and allows us to skip a handful of checks on subsequent runs
a097f3d - Have fluid tanks make use of the update delay config for determining how quickly they lose the lighting that is provided to them from their stored fluid. Greatly reduces lighting update frequency in some setups
425e1af - Skip unnecessary block loaded check for lighting update
2911cfe - Properly proxy computer capabilities to secondary ports on the digital miner (#8215)
e7d6f44 - Bump min JEI version to 19.10.0.126 and add support for searching by our aliases in JEI (#8218)
69456ba - New Crowdin updates (#8208)
dc455c6 - Use precomputed packed color for converting an enum color to a fully opaque int
bfeebf8 - Reduce the aggressiveness of the HSV adjustments to color buttons (#8203)
c364e7f - Batch string rendering for the HUDs, and fix MekaSuit hud not using warning and danger colors for icons
43da63a - Add energy indicator widget to laser amplifier gui (https://github.com/mekanism/Mekanism-Feature-Requests/issues/702)
2659fab - Bump version to 10.7.5
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.
84e41fb - Fix failing to load QIO data if some items now are equivalent
b4b0b49 - Fix items sometimes failing to load due to having had multiple chemical side configs. They now take the first one (usually gas)
710d867 - Bump version to 10.7.4
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.
c390c8b - update issue template
a87b00c - Add support for chemicals as camos on framed blocks (#8209)
8a297fa - fix crystallisers not realising they need to come off vacation and do work
eb5c3a5 - bump version to 10.7.3
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.
546d9a8 - best effort loading of item-saved side configs
2fd8d56 - bump version to 10.7.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.
3fd900a - support loading legacy side config for tiles
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.
2f5f835 - Update maven example version to a 1.21.1 build and one that contains the breaking API changes we made to chemicals
30c1b84 - fix TEPs getting stuck paused when full tank is drained when temp lower than min production (caused by f5d7a1e671cefd52e94855858dc7647ceb88d1c5)
e4ba3cc - bum version to 10.7.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.
b53e5fa - micro-optimise TileComponentFrequency some more
177298d - do some finalising in Frequency
4bce8f9 - move the actually expensive chemical insert checks to after the basic ones
53d3ccf - update neo
d8505ea - make sure the multiblock uuid gets saved to disk when it changes
23f194e - update mc property and tweak mod deps
df5bee7 - bump neo version
fca994a - change gear mode change message to be in the action bar
4f817f0 - game version in datagen cache headers
(cherry picked from commit 0e2ed4b23c31808560002b1df4c551bccdad069e)
1fcef2e - trigger The Factory Must Grow when a Tier Installer is used
e7cba8d - update NG
f42a529 - Fixed boiler valve output steam mode wrong colored configurator text (#8198)
572d8c5 - revert NG update as it broke dependencies
9cab48c - replace set with list in base input cache (recipes should not be dupes anyway)
7a12d23 - check non-component sensitive index first
a72b8bd - user singleton lists in recipe cache/indexes where applicable
5248e78 - short circuit ejector component when nothing to eject
84a8b96 - move Logistical pathfinding to long blockpos and some transmitter methods
e6af682 - bump version
20b715a - avoid hashing at all if the sensitive map is empty
e264fa2 - preallocate as little as possible for sensitive component hashmap
e82cc2d - make coal crushing use the tag (e.g. for Lignite)
9574883 - prevent fallbackItemCollector race condition on client thread (#8189)
854168a - Revert "make coal crushing use the tag (e.g. for Lignite)"
This reverts commit e82cc2dae2afeea22e948f7df46621d7dbe50019.
941137c - save transporter stacks size-agnostically
b4460f7 - bump version
f480caa - New Crowdin updates (#8175)
c08a1b7 - New Crowdin updates (#8204)
* New translations en_us.json (Spanish sub variants)
[ci skip]
b74b68b - Merge all four chemical types into a singlular registry and type called chemical (#8196)
- Slightly adjusted IChemicalHandler to allow direct implementation alongside implementing IFluidHandler (method clashes)
- Removed all Boxed Types relating to chemicals
- Added Infusion recipes to the Chemical Oxidizer
- Added a per_tick_usage field that determines if the chemical is used each tick or only when finished to the nucleosynthesizing, compressing, injecting, metallurgic infusing, puriffying, and painting recipes
- Unified various names in recipes (old syntax ones that changed will not be able to load)
Old world data should load mostly fine with the following known exceptions:
- Chemical Dissolution Chamber items that have contents in multiple tanks will lose the stored contents
- Quantum Entangloporters that are transferring multiple different chemical types will have the first type win out
---------
Co-authored-by: Sara Freimer <sara@freimer.com>
62a305b - Adjust/added a few recipes (#8174)
- Switched infused alloy from using iron to using copper
- Added alternate circuit recipes that let you save on the ingot, but use more infuse materials
- Allow making enriched iron from iron dust
cd1cd94 - Update deps, and bump min Neo version to 21.1.21
66262e3 - Always return true for canExtract and canReceive of energy wrappers, and let actual interactions handle the cases we cannot
cdb106f - Remove sulfur from the yellow dye tag, and instead add a shapeless crafting recipe to turn it into yellow dye
cab368c - Fix accidentally having free runners give soul speed, as movement efficiency negates the slowdown already
bf64ca7 - Skip ejection of tanks and energy when all containers are empty
69ec077 - Fix reactor glass side being visible through the laser focus matrix
374ab4b - Add support for sorting the QIO by item registry name
8a49089 - Fix canteens playing the right click animation when the player is not hungry
325119b - Don't render the configuration side when the side of a machine can't be configured (#8188)
aab8bcf - Fix energy in machines getting clamped to un-upgraded amount when moving the machine (#8184)
8969df7 - Allow placing structural glass, reactor glass, and laser focus matrices inside framed blocks
780413a - Allow searching by mekasuit piece/mekatool in EMI to display supported modules (https://github.com/mekanism/Mekanism-Feature-Requests/issues/688)
a02920d - Add a tag that contains all mekanism units (https://github.com/mekanism/Mekanism-Feature-Requests/issues/689)
3e09163 - Expose various item abilities for Mekanism's configurator for when it is in various modes
671deac - Provide better support for some of the wrench abilities in our blocks, and don't allow rotating certain blocks when not on rotate mode
Also fixed certain blocks throwing an exception when attempting to rotate while facing up or down
213556b - Add pigment mixing recipes for producing various types of green (https://github.com/mekanism/Mekanism-Feature-Requests/issues/690)
0230ed9 - Expose player equipment slots in generator guis (https://github.com/mekanism/Mekanism-Feature-Requests/issues/685)
499e7f9 - Delete placeholder Mekanism: Defense sourceset. It may return eventually, but it is annoying having to update it when making various internal changes to things
17f4919 - New Crowdin updates (#8205)
d0da209 - Mark a few mods that are known to be broken by our API changes as incompatible for existing versions of those mods (when they release an update they will not be caught by this check)
fa0c64d - Fix EMI chemical ingredient serializer, as it does not support having colons in the name
8a84e68 - Bump version to 10.7.0
f6a6ba9 - fix: prevent client crash with radiationParticleCount set to 0
1ac9561 - make a local var for random source
6bd7123 - adjust funding yaml
4b2537b - Fix stairs and slabs recipes in mekanism:sawing (#7936)
b029d0f - add warning tooltip to turbine dump button
12892f6 - Refactor salt disk feature to call vanilla placement method (#7968)
152f8de - New Crowdin updates (#7927)
c65a64b - Bump version to 10.4.6
e01e5df - remove the broken gui cache
f04adf7 - fix wrong itemstack constructor in computer helper
0be5c15 - remove unused record class
b7f1829 - increase mod version
8224c0b - New Crowdin updates (#7922)
[ci skip]
e145b90 - Extend Paxels from AxeItem to allow Axe enchantments (#7903)
22123d9 - tweak some paxel code
a03e410 - projectE deprecation
296c1de - [no-cl] make gradle output the CF file urls after upload
c380ea5 - [no-cl] fix CF/MR changelogs
d64eb59 - Remove Upgrade stack limits and add to tooltip instead
ab3a567 - [no-cl] run datagen
3962655 - Fix matrix stats heading using the wrong lang key
817a645 - Allow teleporter frames & steel blocks to be wrench dismantled
5dde47f - render item decorations in side config gui
d3c2080 - simplify the side/transporter config tooltips
7888bb8 - Upgrade gradle to 8.4 and use JetBrainsRuntime as our toolchain specification so that we can take advantage of DCEVM
ad8e146 - fix personal storage inventory crafting with contents on servers
609b030 - add a faster blitNineSlicedSized copy which uses a single buffer and caching to significantly improve Mekanism GUIs
06e4304 - Don't add the inventory id to the stack on the client side for recipe output as it will be a different id than actually gets added from the server
6531aec - New Crowdin updates (#7876)
[ci skip]
022e458 - update projecte to 1.20 api
faac6da - re-add projecte datagen and run datagen
33b6795 - bump mod version
631cb34 - fix GuiUtils crash and increase mod version
96ade9e - Update example maven version in readme to a 1.20 build
be15dbc - slime ball from clay + biomass
fa92141 - slime ball from clay + biomass
c369fb7 - remove redundant, more expensive crafting recipe
ea6fff0 - Improve electric pump GUI fluid display
244b531 - Move slime recipes out of the mossy subdirectory
2fcaa0b - fix filled personal storage crashing in recipe upgrade data
5642733 - [no-cl] enable proper changelog calculation
96ae891 - bump version to 10.4.1
e0cb325 - Initial port to 1.20.1 and remove material filters as materials no longer really exist. This means filters will not be able to read from save
9ca6bbb - Sort our Creative Tabs properly and give each sub mod its own creative tab
7ed7523 - Fix element focusing not proxying to child elements causing things like the QIO frequency select text box to not work
dcf8209 - Improve some hovered checks to take into account of a window is blocking the mouse
7987628 - Remove some of the hacks relating to pose stacks we did to get things rendering previously and make gui element rendering more consistent by using relative positions in more spots
f42b01a - Fix focus not being set properly for text elements in gui windows
21e27da - Address some TODOs and fix resizing window not persisting gui element data
4e366f4 - Convert our radiation overlay rendering to an actual gui overlay
a1198b4 - Fix mode change overlay going away too quickly and slightly modernize the impl and add support for the text background accessibility option
e73680f - Replace various uses of SizeUtils#size with ItemStack#copyWithCount
a74b258 - Mark radiation as bypassing armor and adjust our datagen tag builder to better support datagen registries. Also move our hazmat armor tag up one level
7fa2366 - Fix crash from accidentally attempting to lookup a texture for null
34c6a14 - Allow for our gui_text color atlas to change button text color
5876a54 - Fix allJar building by adding support for merging atlases
253f889 - Update deps and switch off of using a custom forge build
f295c15 - Fix item decorator rendering for amount of chemical stored in the mekasuit
95bd553 - Fix using the wrong Explosion BlockInteraction in a couple places due to mojang changing what the value we used to use means
209f442 - Remove unnecessary unicode escapes
adb0777 - Cleanup CrT stack creation
023dfbe - Don't try to clear cache for configs with invalidation listeners if we are unloading
fed694b - Minor restructuring of datagen registration to remove capturing lambdas
38fa1b6 - Update forge and add loot table names back to our datagen
46894eb - Explicit typing of numbers in shaders as some GL implementations are picky in regards to implicit casting #7756
de28e37 - New Crowdin updates (#7802)
1cee4ad - Fix damage type lang keys
48d316d - Make laser damage apply exhaustion again
36e984f - Implement a couple newer methods in our JEI chemical helpers and make gui elements use optionals instead of nulls for easier chaining with JEI methods
0216c22 - Update deps and make use of a few changes exposed in forge and account for changes made in APIs of some deps that have now updated to 1.20
b562d65 - Remove FluidRenderMap as FluidStacks ignore amount in hashCode and equals
1ca4df0 - Perform an initial data sync when new trackers are added to the container so that if they are at the default cached value they actually get sync'd #7809
bf68f47 - Simplify damage type advancement deserialization and fix having broken syncing of first element in previous commit
53fdc37 - Remove unnecessary curios register type as it is already added natively by curios
fde43d6 - Remove DistExecutor and just use direct dist checks
f196444 - Fix CraftTweaker add recipe actions
a81fd23 - Fix WTHIT integration
edf105b - Cleanup getting the registry name of elements in a few cases when wrapping in CC
2f4daf0 - Move shield textures to shield atlas
b85c75a - Don't add bounding blocks to the creative tab
eebc273 - Fix creative tab search box textures, lapis lazuli shield texture, and make the creative tabs properly respect our gui_text for the title
5e1104e - Remove some unused assets, so they don't get stitched to an atlas and remove some unneeded entries from the atlas files
6d40bb5 - Better match changes to damage types and make the inhalation purification unit/scuba mask not prevent thorns or sonic boom damage
578aef6 - Rework mekanism tools gear on mob spawn configs and functionality to more closely match vanilla behavior. This should be a noticeable decrease in quantity of mekanism armor spawned on mobs
04d67f7 - Add items to the appropriate and logical vanilla creative tabs as well
653261c - Account for data pack changes in 1.19.3 and 1.19.4
01e394b - Replace color overlay render logic with using GuiGraphics.fill and the guiOverlay render type
b4bc5a8 - Replace GuiUtils#drawSprite with the corresponding GuiGraphics method
4cc1570 - Optimize imports to remove any unused imports that cropped up during the initial port
7327726 - Fix some parts of our JEI overlays being rendered in the wrong position
3c0b01c - Fix some of our hover overlay draws not rendering as overlays
dc7a212 - Convert more direct RenderSystem calls to GuiGraphics calls where appropriate
105f1b6 - Add radial menu for blasting unit (#7812)
02ac97e - Updated GUI Icons
0608d72 - Fix blasting unit radial menu not being properly colored
6f22ba2 - Revised Heat Icon
eb3db2e - Bump min forge version to 47.0.45 to remove the need for manually specifying as much information for the creative tab sort ordering
0e61e83 - Add our own tag that inherits the is_overworld biome tag to make it easier for pack devs to configure which biomes our ores can spawn in without having to abuse the overworld tag or change all our ore features
f6cbda3 - Remove plastic from building blocks creative tab as vanilla does not duplicate blocks from colored to building
4eb4c15 - Cache the placed features that are used in retrogen
665549b - Factory Model & Texture Overhaul
WIP: Active textures not complete.
1f3d158 - Updated Factory Models
Fixed missing textures and altered the port texture placement. Also removed BBModel files.
99022d7 - Updated Crushing Factory
Fixed missing resource location.
e536fac - Update crowdin.yml
add ry_ua mapping
19e8e92 - Add compat recipes, tags, and similar for vanilla 1.20 features
4f63228 - Ensure entity is not null before checking item overrides for the HDPE elytra #7815
84b118f - Fix some blocks not being properly fluid loggable and update model syntax to properly mark things as emissive with the change in formatting forge did
d5d4069 - Switch to using forge's item layer model loader for purposes of tinting the portable qio dashboard's led
da84b73 - Set block shapes for factories
36318ea - Update digital_miner_screen_cmd.png
ae5499b - Updated Crushing Factory
f138290 - Update crushing factory block shape
055f21a - Rework factory models to make leds be lit and deduplicate some data between tiers
06b104d - Fix minor z-fighting for the infusing factory ports
4070f22 - Update crowdin.yml
add serbian (latin) mapping
0cd01d2 - Create gradle-publish.yml
27d97f1 - Remove unused factory textures so that they don't get stitched to the atlas
90a068a - Re-enable configuration for changing mekasuit damage absorb ratios
c6a1605 - Remove some unneeded render calls and fix a few bugs in rendering guis:
- Unsupported upgrades not showing as faded in the upgrade window
- GuiGraphs not checking mouse hover position properly
b8e966f - Make GuiGraphs sync their history when the screen size changes
f616625 - Apply color of radial selector directly to the buffer instead of setting it via the render system
8a0cf61 - Updated Factory Faces
6ce2263 - Allow farming unit to target blocks under things like tall grass again
1d5a75c - Minor cleanup to transmitter placement logic and list other types of chemicals in pressurized tube tooltip
090464f - Fix gui window blur rendering not rendering over items
5d77f5b - Remove no longer needed z shift
4f2dd46 - Remove static imports in BlockShapes
eb1e20a - update build github action
b0f9c22 - update build github action
d916f24 - update gradle actions task and add outputChangelog task
2708480 - Fix scrollable elements not behaving properly when windows are moved or the game is resized
cf04743 - Replace drawing of various objects with vanilla's blitNineSliced logic from GuiGraphics
68c05e6 - Remove various no longer necessary clear color calls
e4bf927 - Protect against potential null pointers by setting the fake player's server level to the overworld when not in use
e99a0ea - Update deps and bump min forge version to 47.1.1 to make use of blitNineSliced overloads
d3227de - Fix docs on a few FloatingLong methods being backwards in the description (in the return clause they were fine)
b7e1b33 - Only expose certain tool actions if the tool has enough power to perform said action
669802d - Point codeql at the 1.20 branch
fce28a4 - Adjust active particle effect for factories
e8826e8 - add changelog to artifacts upload
77934d3 - Bump min CrT version to ensure we can properly process damage done with it and also re-enable farmer's delight in datagen. Also adjusted a few sawing recipes
eb4af5f - Address some codeql inspections/warnings
ea4cfff - Make the nucleosynthesizing recipe cache lookup monitor have less unnecessary copies and override super methods directly
35a3584 - Cache list of supported energy capabilities to avoid querying if various conversions are enabled each time we get the enabled energy caps
597ecc3 - Directly use mojang's model baker impl instead of having a slightly modified copy of it
da7e376 - Improve map colors for some of our blocks
1c49e46 - Re-enable assembling compat with RecipeStages
fa05d67 - add verify option to grab runs that are visible in current log
d835b9b - add github release on build
b759b44 - adjust tag name to match the filename version
8de6fac - pull in github action
93145a2 - move props action above setup java as workaround, fix paths
be9e86b - relative paths everywhere
d7b96f4 - fix gradle props step references
3040ccc - switch to run_number and add missing env to build step
7fcdd51 - set tag to current commit not default branch
3f31b54 - re-enable publishing step
1e1c4ec - Ensure entity is not null before checking item overrides for the HDPE elytra #7815
cefeaae - Fix null pointer introduced by https://github.com/mekanism/Mekanism/commit/d737f103892e4eea61b1196ff21deda426407a56 (#7819)
27b0084 - Make our status overlay rendering respect left and right height of gui overlays
8778b05 - New Crowdin updates (#7807)
[ci skip]
9527f9e - Merge remote-tracking branch 'origin/1.19.x' into release/1.19.x
b109b72 - explicitly set token to env variable
71e9690 - fix maven upload
652bf1a - New Crowdin updates (#7808)
[ci skip]
0a38880 - Rework how multiblocks persist their inventory to behave more consistently. This is a breaking change in how things are saved and means any old multiblock contents will be lost/voided when upgrading to this. Additionally, this fixes hohlraum disappearing when the fusion reactor controller is broken and replaced #7594
e441aac - Breaking change, ensure mekanism's modid is prepended to our world save datas to ensure uniqueness. To transfer old frequency data, radiation, or qio data you will need to rename the data files to have "mekanism_" in front of them
79f4390 - Don't bother reading or writing substance types to the MultiblockCache when it has zero containers of that type
19a30fb - Rename some helper unchecked cast methods from getThis to self
279ab00 - Add support for creating chemicals via JsonThings (https://github.com/mekanism/Mekanism-Feature-Requests/issues/568)
cea7e49 - Fix a few positioning errors with gui windows
8554cc4 - Rewrite how custom robit skins are registered and make them a datapack registry so that they can be registered via datapacks rather than requiring a mod or CraftTweaker
04268b5 - Make some breaking changes to how various things in the API are accessed in order to take advantage of service loaders
8153527 - Update gradle to 8.2.1 and switch from using ForgeGradle and Forge to using NeoGradle and NeoForge
0fda5b4 - Use clearer constant names for left and right click handling
2ac7b48 - minor unchecked cast fix
5583b59 - Rename chemical builder method for tinting from color to tint, and allow JsonThings integration to support more syntax for representing colors
f491002 - Fix querying the block reach of players in creative
d6420cb - Exit early in places when there are no slots in a handler and remove redundant ItemHandler#isItemValid checks
c6c833f - Added fill/empty GUI icons
ae5d84a - Split Formulaic Assemblicator Fill/Empty Grid button into strictly specifying whether it is fill or empty based on which one it would do
bef5a38 - Don't allow logic adapters to power neighboring adapters #7641 and don't output a signal out the back of redstone adapters
7e83fce - Fix redstone adapter model not being lit and fix easter egg screens for digital miner
c5aa075 - Don't allow enchanting electric bows with flame #7832 and return that it is flame enchanted without actually making it enchanted
9fdb089 - Extract corner coloring of energy cube models to their own textures
6fc8754 - Make in code rendering of tiers use their own color map (https://github.com/mekanism/Mekanism-Feature-Requests/issues/367)
0071ff4 - Implement some epsilon related checks for heat so that fusion reactors don't occasionally just get marked as dirty all the time when inactive
8b207ba - List both Forge and NeoForge for now via CurseForgeGradle and Minotaur
a60cbbf - Fix slots being highlighted after clicking
2a262b1 - Fix QIO Crafting Window not matching special recipes #7780
7b52898 - fix all jar to do its merging at execution time instead of configuration time, make clean task clean everything but fg_cache
77f3060 - Deduplicate a little bit of bin extract recipe code and fix various voiding related bugs in the BinInsertRecipe (parts of #7646). Temporarily disable stacked input handling for bin insertions
4c4b760 - Updated dust item textures
37d1b27 - Updated alloy item textures
16cc31d - Updated control circuit item textures
714a949 - Updated enriched item textures
f9d6609 - Updated ingot and nugget item textures
e2a763a - Updated tier installer item textures
0e52f63 - Updated all of the other item textures...
Lots of these are still WIP so expect additional changes in the future.
390694c - Increased brightness of infuse type base texture
648009b - Updated cardboard box block model and textures
72c0cf0 - Fix HDPE elytra rendering in JEI using the broken variant
a3d8137 - Fix chemicals rendering without blend in JEI's ingredient list
61782bd - Added the missing cardboard box side texture
006dc5d - Fix cardboard boxes never using the empty state when placed
9170bd7 - Added lit redstone torch texture
c96fd7f - Updated dosimeter HUD icon texture
19a9100 - Revised the infused alloy item texture
4dc87eb - Revised lit redstone torch texture
fcfa710 - Remove the need for in code model variant for the QIO redstone adapter and fix shading and brightness on it
92379bc - New Crowdin updates (#7822)
2680a3a - Create a helper quad transformation for adjusting ambient occlusion and shading of quads
b1286ef - Updated energy cube core texture
d3694cf - Updated radioactive waste barrel textures and simplified the model
d7fc135 - Remove builtin energy and fluid rendering in WTHIT for Mekanism blocks as we handle it ourselves #7837
a961bcb - Persist misc data when baking and unbaking quads, pass the default state into rendering ISTERs, and remove unneeded manual end batch call for rendering balloons
dc3f155 - Updated fluid tank model and textures
9f13598 - Updated chemical tank textures
7982f01 - Remove HashedFluid as it does not serve any specific use anymore
8b3d265 - Update deps
6821999 - Fix transmitters not saving their shares properly when a chunk enters an in between state #7741
418bd9b - Fix some gaps in the fluid tank model
f41135d - remove au/gb english files from Crowdin
31314be - add datagen for australian/british english
2c4e968 - Generate computer methods at compile time with an annotation processor (#7829)
5cc8b14 - Slightly cleanup the au and gb language provider and ensure it is consistent regardless of who runs it
1e7da90 - Updated bin textures
d724110 - Updated chemical tank textures
086d31d - Updated chargepad model and textures
a8500cd - Updated energy cube textures
7a11489 - Updated transmitters (WIP)
Things are now more consistent as far as pixel density goes. Still need to make the more identifiable when in a straight line.
e063b30 - Updated ore dict...'thing' textures
6d5b782 - Model additions and changes
fc941c5 - Move CTM assets and update textures of various blocks
Includes new textures
ea4ee6d - Updated various block textures
edd3e2a - Removed alt textures
7e8affc - Updated item textures!
Some of these are still a heavy WIP!
8e08f02 - Model updates
2445aac - Remove unneeded override and fix what executor the robit sprite provider uses
77e356a - Fix formatting of some model jsons that got modified and revert changes to fluid tank base back to the fixed versions
23e4743 - Update chargepad shape
87168d8 - Update bin contents rendering to fit properly on the new model
e899764 - Update thermal_evaporation_block.json
2080ff9 - Make carbon's tint darker, so it is a bit easier to see in GUIs
5e53089 - unbreak the Cache writing
(cherry picked from commit 2871071c0117ffe8a92514b9592fe7ebfd4845ce)
694f79f - update caches
(cherry picked from commit cd140171011e21edaaaa079d0c526f99d79c09ac)
5e0266d - prevent the fake provider from writing, which only changes the timestamp
2d80b09 - AT ProviderCache so it's a little easier to understand PersistingDisabledProvidersProvider
694500f - enable DCEVM capabilities if a JBR environment is detected
ec852b6 - Move Personal Storage Item Inventory to World Saved Data (#7867)
- Instead of being on the itemstack, the inv is stored in world saved data, one file per owner uuid
- Stack only has the Security/owner info and an inv UUID
- Refactors `ISustainedInventory` a little to avoid accidental misuse and slightly redundant varargs
- Removed some no longer needed fallbacks from loot generation
- Added ability for Inventory Attribute to specify a custom loot generation
- Old saved item inventories will be converted when they're opened or placed
- Item GUIs will now ensure that the hand that opened it still contains the item (#7855 though the dupe is resolved by the move to saved data)
53d62f2 - Pick alt variant of electrolytic core and remove some unused textures
aec9b46 - Updated and fixed Digital Miner model and textures
e2c5e3d - Computer methods help (#7857)
add help methods and documentation to computer methods
c4e0fef - Update deps and integrate properly with ilikewood for 1.20
85fe52b - update yamlops
89b23f6 - add parameters compiler option and re-run datagen
41ff9e0 - Remove redundant zero angle transforms and slightly adjust digital miner model and block shape
ac5cace - add parchment repo so that mappings can download when not mirrored
d4f8468 - replace PacketFlyingSync with vanilla onUpdateAbilities
aadef0a - gray->grey in non american english
32a0d7c - minor grammar fixes
59bbb36 - couple more americanisms
ebab104 - run datagen
a365ae0 - fix accidental removal of boolean inversion (#7858)
18f53e1 - Create base_bottom.png
For the chargepad, me thinks!
337093e - COLORS!
569f242 - COLORS! Again.
6894f2b - Update default coloring in BaseTier to accurately match the new colors for the tiers and use that color for the text as well
d83cdc9 - Update name of tiered blocks in block form to have the name be colored as well
99aee03 - Add missing since declaration and update diversion transporter MapColor
0ecf620 - Fix a couple models having missing textures
4d83c47 - change slightly obscure Tractor Beam reference
e5fac01 - Fully -> Completely
0c62ba5 - tweak some Advancement names/descriptions
25cdf0e - Rerun datagen
6bd1ace - Remove improper apostrophe
5530acc - Allow force extracting osmium from compressors #7861
c618ab0 - Updated transmitter textures to have a closer pixel density to world blocks
Includes opaque versions!
8ed6bb1 - Remove a couple unused textures and fix coloring for opaque transmitters
4acd100 - Fix not rendering diversion transporter overlay for opaque transmitters
f306a6e - Don't limit mipmapping
bbb6bd3 - Finish moving ctm textures so that they only get stitched with a ctm mod is present
cf5f8cc - Optimize textures
4fbb870 - Fix thermal evaporation controller active model
e35cfe7 - Revert raw lead item texture
35fd5b2 - Allow blocking sonic boom at a 75% reduction ratio #7872
9b0de99 - Added basic tier transmitter icons for item overlay
777e610 - add preview of what block is on which side in the side config guis
36b1972 - Update energy tablet texture (thanks rid)
abd618c - Make transmitter item models be cubes and add overlays to make it easier to tell small transmitters apart at a glance in GUIs
6fe0955 - New Crowdin updates (#7838)
ddc977d - Improve fusion reactor core rendering to not be at as extreme a speed
c0f9831 - force wrenches that don't return true in doesSneakBypassUse to still call a Mek block's onUse to enable dismantling
f5ea149 - Merge right click block events
cf263df - add no-reequip overrides to mekasuit armor and allow energised items to reequip when the slot changes
3ec1b55 - make logistical sorter only click at most every 5 seconds with randomness up to 15 seconds
1901475 - reduce volume of sorter sound event
fc9287c - obey sounds being disabled
a65271d - Skip firing sound event for sorter if fully muffled
d181979 - Improve reequip animation check for missed overrides
5743202 - Lower teleporter's light level so the emissive quads look better
0851023 - Glass to silica glass in recipes
8dfe721 - fix side buttons to get subblock hit vector correct-ish. Tested with AE2
b7bdf11 - Move various messages to the status bar
c1770e5 - Allow radioactive substances in rotary condensentrators if a recipe is added (https://github.com/mekanism/Mekanism-Feature-Requests/issues/583)
7cdb613 - Enable mass bin insert recipe support when FastWorkbench is installed as it fixes an event not firing on shift clicking
0b728eb - Updated teleporter and frame textures with new LED overlay
b92b6c2 - Remove unused textures
c12764f - New Crowdin updates (#7874)
3a80c61 - Bump version to 10.4.0
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.
bef83f8 - add registry access to datagen recipes
bfad1d1 - add bone block to crusher recipes
32b0e13 - add ability to use resourcelocation only item ids for external mods
1e92bbc - add back ae2 compat recipes for silicon and ender dust
00495f1 - flip ae2 datagen to use api-only item/block ids
7638e35 - fix: always perform conversion checks
1636b48 - perform an extra simulation for safety and log if it failed
22ca133 - add test to ensure that simulation is the same as execution and that 1rf fails
014b63d - fix: always perform conversion checks
f05736d - test both simulation and execution
7685869 - dont spam log an exception
4b81e47 - Always check conversions
1a8e073 - Add javadocs to new API method
208ae09 - Fix sps billboarding effect not rendering
c4b1959 - Don't allow snow to form on blocks that are used in multiblocks. Prevents snow forming inside of evaporation towers
e3a4287 - Allow searching reactor to see all fission components
f655a34 - Ore Textures (#8172)
- Fixed the lighter stone texture on the Tin ore ([#8169](https://github.com/mekanism/Mekanism/issues/8169))
- Updated the shading on other ore textures
0604311 - Optimize png file sizes of adjusted ore textures
c7d7752 - Fix switching between silk and fortune units not properly updating the applied enchantments
e9964dc - Fix cases where buckets get prematurely moved to output slots
af08815 - Fix lighting being off for blocks stored in bins
d742d96 - Fix rendering of flamethrower particles being incorrect for other clients
afe27c0 - Don't have the Portable QIO Dashboard fire the re-equip animation every time the contents of a crafting window changes
3110119 - Fix recipe transfer handlers targeting a Portable QIO Dashboard not reliably working (#7376)
d08c062 - Use a more compact stream codec for transferring the block state in cardboard boxes
bcb7b11 - Fix log spam when loading transporter stacks that don't have a stored item (https://github.com/Soaryn/XyCraftTracker/issues/59)
22fcf72 - Update deps and bump min Neo version to 21.0.142-beta
8f0adf1 - Re-enable Farmer's Delight compat recipes
4b9bebe - Replace ear-piercing beep sound with a separate on off beep (Soaryn) sound
d278782 - Bump version to 10.6.7
0601185 - New Crowdin updates (#8167)
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.
b163ad5 - Wrap shaped recipes in a way that is lazier and doesn't require ATs
cba0bec - Add a dev mode only config option to suppress the alpha warning
e7dde77 - add constant for array creation
c419029 - reduce default baby spawn chance
4e31be1 - nerf baby mob attributes
ab92025 - weaken baby skeleton/bogged arrows
93dcef6 - prevent babies from wearing armor
9c21d94 - Switch energy system to using long primitives instead of a custom object class (#8159)
---------
Co-authored-by: Sara Freimer <sara@freimer.com>
433bf8a - Fix not nerfing the baby stray's projectile shots, and move the modifier to a config option
3e5b844 - Don't allow inserting items into bins from the back
d103a9f - Don't throw if someone removed silk touch as an enchantment
fd189cd - Fix energy networks voiding all stored energy when breaking a cable
c62f30b - Fix upgrades not being properly applied when already installed in a machine before placing (#8160)
f1906dc - Update deps and bump min Neo version to 21.0.110-beta
6f7c187 - Make use of new douse item ability, and allow the farming unit to douse in an AOE
2766c23 - Allow the flame-thrower to ignite blocks using the new FIRESTARTER_LIGHT item ability
5f9cd91 - Cleanup shear unit logic and add support for the new trim item ability
9d70c5e - Minor datagen code cleanup to take advantage of newer Neo helpers
945f9f6 - Switch to using the new RegisterClientExtensionsEvent
fb70bd6 - Remove our custom save data temp file code, as neoforge now writes save data more resiliently itself
218fd49 - New Crowdin updates (#8158)
d79354b - Downgrade NG to fix test task not being registered
fe5ee98 - Bump version to 10.6.6
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.
23b7a68 - Make it so that the configurator only stacks to one to help shift clicking in certain mods not accidentally create a bunch
710f051 - Bump min neo version to 21.0.86-beta and adjust for changes to config system internals
73519d3 - Add various items to the new tool tags
ae48dec - Take lower tank's contents into account when attempting to fill stacked tanks (#8157)
54fe5c1 - New Crowdin updates (#8154)
6820c02 - Bump version to 10.6.5
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.
d40defd - Update deps and bump min Neo version to 21.0.58-beta
aa80805 - Define names for all the jei recipes so that they can be properly bookmarked
11acb12 - Make the laser use the actual beam's size for determining intersections with entities. Makes the tractor beam more easily able to pick up dropped items when a lot of power is going through it
db5f833 - update neo version
bdbc095 - remove IShapedRecipe
86e28de - rename RegisterSpawnPlacementsEvent usages. Fixes #8156
e99df3d - [no-cl] add todo for AT removal
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.
5ed0e20 - Restructure the output changelog task to make it support the configuration cache
b0920ed - Adjust github actions to allow gradle to make use of the configuration cache
c595211 - Adjust some of our teleporter code to more closely match new vanilla code:
- Query Entity#canUsePortal rather than us checking if they are a passenger directly
- Allow vanilla's changeDimension logic to handle teleporting passengers across dimensions now that vanilla supports it
- Make use of post transition logic to do things like triggering player advancements so that even if the player is riding a minecart they will get the advancement
- Align the player with the exit teleporter as part of the initial teleport, rather than doing so by teleporting the entity more or less in place
165daf2 - Similar to vanilla call Entity#onEquipItem when a player sets an item in an armor slot or the offhand slot. This makes putting items in the armor slots play the equip sound
6fb10f3 - Update robit teleport to owner while following logic to match new vanilla logic for tamed animals teleporting to their owners
6d10740 - Finish going through and replacing various numbers with taking constants into account to make it easier to track down what things need to be adjusted to fully support vanilla's tick command
c2933c0 - Update deps
ff38901 - Fix the nutritional liquifier being unable to handle suspicious stew (#8143)
837eae7 - Disable configuring top side of the pigment mixer as it is inaccessible (#8150)
0d23574 - Fix missing support for oversized stack serialization for stored items on an item stack (#8145)
f166c7d - Improve integration with vanilla's new tick commands:
- Ensure rendering related thing that pauses when the game is paused, also stops updating the state when the tick rate manager is frozen
- Made dosimeter and geiger counter radiation decay timer take the current target tickrate into account (still displays the number even if the tick rate is frozen, but of course it won't actually happen if frozen)
- Allow logistical sorter tooltips to display to two decimals, so that at sub 20 tps target rates, basic transporters don't just display zero
- Made radiation properly not decay when things aren't ticking
- Similar to minecarts, don't have sounds play while the tick rate is frozen
- Use gui ticks for hud and overlay rendering so that things can properly go away while tick rate is frozen
- Don't tick transmitter networks when the tick manager isn't running (but still allow network formation logic to run)
8313473 - Update deps and bump min Neo version to 21.0.46-beta
b1b4e74 - Fix energy cube rendering in item form when all sides are set to none
8422973 - Fix items not rendering in the nutritional liquifier, and fix particles not rendering
0e4e938 - Fix some z-level issues of items in crafting windows
edaeb09 - Fire advancement triggers when crafting via the QIO crafting windows. Fixes being unable to earn careful restoration via QIO crafting windows
95f0022 - Add optional support for GrandPower (https://github.com/mekanism/Mekanism-Feature-Requests/issues/679)
c6c44ee - Add alternative textures for the configurator when on various modes
1f8fbbc - New Crowdin updates (#8141)
9b3961d - Bump version to 10.6.4
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
e13923b - Replace some of our recipes that accept cobblestone with accepting cobblestone or items in vanilla's stone crafting materials tag
92cf26f - remove energy usage from configurator
3db4ec0 - simplify the configurator's recipe
11715dc - Add crusher recipe for turning obsidian to dust in preparation of removing the enricher recipe for it. And add a crusher recipe to convert blaze rods into dust and bones into bone meal
e250954 - Switch bin left click vs shift left click behavior to be in line with mods like storage drawers and functional storage
1402b10 - Include coloration in colored block's name component
d727b2e - Include personal storage inventory in emc processor's calculation of emc an item is worth
dc0d42d - Drop upgrades and modules when the item entity containing them is destroyed, and expose an API method so that addons can have their custom module container items drop installed modules on destruction
a1df051 - Add looking at support for viewing what is inside a placed cardboard box
0fdfe04 - Fix filters not remembering enabled status on block placement
379f88b - Allow double right-clicking to insert into bins even when done with an empty hand
2ed429e - Move transmitters over to using our block attribute system (hopefully improves #8018)
5c125a6 - Fix the QE's energy tab not updating while in the GUI
5df5d31 - Further adjust configurator recipe
ae784e7 - Fix personal chests and barrels losing their inventory when broken
00748b5 - Add a View Vector based Jetpack mode, fix scaling issue when accelerating an elytra, and allow installing multiple jetpack modules and increasing the thrust of the MekaSuit's jetpack (#7475)
ed78560 - Bump min Neo version to 20.4.196 to ensure that clients can properly understand all the data we send them when on a server
20e2e65 - Sync extra stack data to make sure the hotbar and portable teleporter energy update properly (#8020)
39882fc - Clear heat data when clearing configuration data of machines
bf26e1d - Try delaying tracking transmitters until first tick on servers to see if that fixes issues where the data isn't synced to the client. Hopefully this doesn't break anything
4bbb444 - New Crowdin updates (#8019)
f8881ec - Bump version to 10.5.3
59f9b2d - Fire teleport events in other places we teleport entities (https://github.com/mekanism/Mekanism-Feature-Requests/issues/637)
5f6deb9 - Improve performance of updating entity radiation (especially when there is no radiation sources in the world)
c17cf16 - Cleanup flame tick logic and some places where we get the current server
5e03d45 - Fix disconnect on server when trying to send certain translations to the client. For example dictionary output
cb15244 - Hide the cape while wearing a jetpack or scuba tank as it clips a lot
eefbe03 - Fix checking of radiation when radius is a single chunk
55a93cf - Fix tasty paste advancement triggering with an empty canteen
79e8d6e - Fix digital miner not having the correct maxY set on initial placement
8deff87 - Fix auto ejecting from the digital miner directly into transporters not working
ba59ae2 - Fix accidentally breaking component rendering a couple commits ago
cfd5410 - Fix Quantum Entangloporter auto eject being broken
b8eddc1 - Don't allow unpacking blocks where they cannot survive. For example unpacking a torch on a chest
eef073e - New Crowdin updates (#8013)
8e0aaea - Bump version to 10.5.2
401f215 - Manually specify loader and game version for modrinth as it isn't good at detecting it
de3a1de - Fix gauge droppers not exposing capabilities
1ec7c2d - Cache NG outputs in publish workflow, and remove no longer necessary custom clean targets
d3ea197 - Prep for upcoming extra method in IGenderArmor
9945aaf - Improve rotation speed of the wind generator item
c54b948 - Fix robit's repair screen rendering of the text box and error
269a597 - Fix how we set initial focus so that the objects can be properly unfocused (#8006), and switch to using mojang's system for handling which element is currently focused
b02dd97 - Allow JEI components to handle key presses and clicks (even though none of ours make use of that)
1a40a85 - Simplify JEI mouse click implementation
63a8bb5 - Use mojang's getRight and getBottom helpers in places
cc6445d - Bump deps and bump min Neo version to 20.4.184 (#7954)
becf60a - Make use of getExistingData for attachments
c9e6829 - Add support for localizing mod description and display name in mod list
5c37f92 - Do our best effort to not allow placing fluidlogged blocks with fluid in dimensions the fluid can't be placed (#8007)
53eb881 - Fix redstone control type not adjusting what the activation mode accepts on fission logic adapters. Removed disabled mode from being supported by the adapter, as the corresponding is to just not set it to activation mode
f385fc3 - Support persisting logic adapter settings and copying them with a configuration card
812e145 - Fix not properly tracking lazily added resolvers for invalidation
c8412f5 - Add support for muffling upgrades to Resistive Heaters (https://github.com/mekanism/Mekanism-Feature-Requests/issues/634)
1af0eb9 - List what mob type a spawner is for and what a decorated pot is decorated with when viewing cardboard box tooltips (https://github.com/mekanism/Mekanism-Feature-Requests/issues/633)
246efdb - Fix spelling of Whooshes (https://github.com/mekanism/Mekanism-Feature-Requests/issues/623), and commit missed files from previous commit
2a15e50 - Allow configuring MekaSuit UI Jitter via helmet options (https://github.com/mekanism/Mekanism-Feature-Requests/issues/587), and allow adjusting it and opacity via arrow keys
fe1c679 - Add support for inverting the QIO Redstone Adapter's output signal (https://github.com/mekanism/Mekanism-Feature-Requests/issues/606)
47aeca7 - Force reading to recognize that our lang file is UTF-8 by making the first value be a UTF-8 character
e9ea15f - Adjust how qio trigger lang entry is combined with comparator lang entry
677d5af - Fix positive min build heights (https://github.com/mekanism/Mekanism/commit/8bd636e438ef984ef6b853266fe3b5aabfa28734#r139202489)
ea2154f - Write Jekyll computer data with support for UTF-8 encoding
be6dd6d - Fix Gravitational Modulating Unit not persisting flight when disconnecting and reconnecting (#7985)
a3e0e1d - Sync the offhand item in item containers in case some of the state is dependent on the item (#7923)
0ef8269 - Ensure max stack size is respected when a transporter with items in it is destroyed (#7982)
a6edd88 - Don't bother saving the last color to items when breaking a QIO components as it is just used for seeing if the BE should sync to client
37b85b0 - Merge colored name handling fully into ItemBlockMekanism rather than having a second variant just for IColoredBlock
65ba14c - Allow blocks to stack when they have matching data, and add a single item recipe to clear any configuration data (side configs, sorting, etc. It does not clear things like items or security) https://github.com/mekanism/Mekanism-Feature-Requests/issues/546
69787db - Fix non-creative energy cubes rendering incorrectly in hand after placing in creative
d603edc - Make it so that energy tablets can stack (https://github.com/mekanism/Mekanism-Feature-Requests/issues/638)
855554a - Increase speed of the modification station, allow installing and removing up to a stack of modules at a time (https://github.com/mekanism/Mekanism-Feature-Requests/issues/639)
b525020 - New Crowdin updates (#8005)
5392c69 - Bump version to 10.5.1
49e43d3 - gradle importable
7ed2b6e - neoforge renames
bbf77d8 - move AT names from comments [to be verified]
4f1ef00 - more renames
4c6a8fc - MC updates
a59dfee - make gradle clean run before build in gh action
8d39664 - remove reobf from gradle and some other commented bits
c5d1db4 - recipe builders
7001a04 - forge rename - configspec
2f6caee - MC updates
b09834d - plugin update
029d52c - the codec-ification begins
203d3a2 - chemical+stacks codec
d9f8b04 - restore compat with previous json
84707db - add codecs to SerializerHelper
58d59d5 - fromNetwork signature change
0a63fce - switch to neo version of withAlternative so the encoder can use the secondaries
114b19b - remove codec method from wrong interface
702dc6c - ingredient creator codecs
0eeb087 - check stack ingredient serialisers
8c60b1c - move FloatingLong codec into FL class
fb8454a - serializers
2e8c2cf - main module compilable
6e46d30 - remove unused json methods
18ac8e0 - undeprecate the serialize ingredient method
60deddb - fix serializer
7b8cbf7 - datagen MC updates
3c0e6a5 - unported mods datagen compile-only hacks
d10ec66 - mc updates
6a2e3e5 - NG update
299f11f - set loader/neo version/modid
819f297 - move chemical stack codecs so they dont classload the Stack classes too early
2a53d70 - comment out bus subscribe which will break things now
01452cf - fix forge mod id in jsons & update neo
120003c - neo updates
4dc4a96 - more neo mod ids
637ea3e - update datagen coremod
475dd9a - comment out lingering old mods in datagen impl and add modIdentifier to extraSourceSets
d65e73f - Fix errors in tests due to things class loading that don't exist in what classes JUnit loads
cb516d0 - Minor build.gradle cleanup and bump NF and NG version to fix multiple ATs not working
7872fcf - Fix datagen runtime errors
b4edf89 - Cleanup some datagen code by creating an AT file specific for datagen
93b2e97 - Don't create advancement files for recipes with no criteria
4ead4eb - Switch from TagKey.hashedCodec to TagKey.codec for fluid and chemical stack ingredients as the hashtag is redundant
70eef5a - Run datagen
2b1ec9a - Remove no longer necessary min version declarations
9845257 - manually replace forge modid with neo in the compat recipes
ffae97c - fix: itemstack codec missing Count being optional
6629d49 - fix: support the chemical type on the upper level rather than inside the input field on crystalizing recpies
09c5303 - fix: secondary chance validation was wrong way around
979b5b0 - Unify todo format and fix misc porting bugs
6c3c967 - optimize dependent field codec in Crystallizer serializer
62b1eb5 - move serializer specific methods out of the api classes
f049697 - document SerializerHelper and move Slurry Stack codec to be with the rest
c4f3cab - remove deprecated/redundant serialisation
90fe830 - remove some redundant code, move helpers to use the codecs
6d89e8f - fix count being wrong case (Count vs count)
9f7c731 - fix itemstack codec doing nbt in a different way
6f8babc - move network writing out of the recipe api into the serializers
5e89e7c - replace all the things with codecs in serializerhelper
098668a - simple unchecked cast fix
a4e7d5c - minor javadoc fix
cede10c - move basic recipe implementations to separate package, make main classes fully abstract
1c8ad09 - move the rest of the "basic" recipes
0680407 - make recipe types referenceable in the api, use them in recipe classes
13a0790 - chance output docs
48dc4b3 - use plain text group ids for recipes, pull up to super where possible
55fc3bc - move things into Basic recipe classes wherever possible
26024d6 - finalise moving all Basic versions of recipes to the api package
2cc289f - Support using Neo's Registry rewrite
1a529a3 - Refactor our wrapped registration for single layer wrapping to extend instead
21b8665 - Remove IEntityTypeProvider in favor of using holders and slightly reducing registry wrapping further
bf08942 - Remove a wrapper for loot function registration
bfde078 - Re-enable holder based ingredient creator methods
465fa85 - Remove a few more unneeded deferred register wrappers
e761560 - Slightly cleanup fluid registration
58eb08a - Cleanup chunk loaded check and fix packets not being properly handled
8906209 - Disable ProjectE datagen file to fix compile errors until ProjectE updates to 1.20.2+
7a64285 - fix robit skins
0223d22 - Update NeoForge and account for related code changes
62fe3c4 - Manually rename recipe condition key to account for renamed value
6108614 - Update NeoGradle and re-hook up yaml-ops in datagen
fd05eac - Fix forgetting to rename code constant and remove a couple paths
4bfe2c8 - Update deps and update CrT integration to compile against the 1.20.2 Forge CrT version
9adffe7 - Make use of mod constructor parameters
03e919a - Fix uv sprite access
52a15b6 - Update to NeoForge 1.20.2 RB and fix deprecations. Server configs redirection is broken for now
7f887b1 - Fix gameTests not being added to run configs
60b7932 - Fix gametests not running and switch to devtime only ATs rather than reflection
59ef9a1 - Refactor our use of capabilities to support Neo's rewrite of the system (#7925)
- Adds support for non BE based block capabilities such as the composter (#6157)
- Minor performance improvements to some bits of transmitter related code
- No longer fires neighbor updates for cap invalidation as it is no longer necessary
- Reworked security utils and split it into multiple classes to make it easier to interact with using newer systems
- Made config and security caps fully support being applied to blocks rather than having BE specific implementation details
- Fixed sorter position and face checking
- Fixed WorldUtils#notifyLoadedNeighborsOfTileChange using the wrong state for the weak changes and secondary neighbor change check
- Include ItemStack attachments in HashedItem's hashCode
- Allow accessing transmitters by position for all types rather than just inventory networks
- Expose energy caps on robits and switch the chargepad to charging robits via it
a3c1b79 - Update a couple dependencies and switch to building against neo 1.20.4 (compile errors have not been addressed yet)
577523a - Fix advancement triggers
121f6ea - Make API provided recipe builders compile
7688e9f - Fix compilation of main mods (datagen still doesn't compile)
bca7f93 - Switch criteria triggers to using the proper registry
c6dfe29 - Fixes crash while launching client
3a9c544 - Fix datagen compile errors
d44aab8 - Remove no longer used SerializerHelper methods
b46f430 - Fix SawmillRecipeSerializer not being able to serialize recipes without a secondary output
67414f2 - Fixed some copy-paste errors in the recipe serializer codecs
230d024 - Make all our recipe serializers return MapCodecCodecs so that the recipe dispatch codec can inline the recipe
2fc1b63 - Fix base lang provider including the modid twice in the provider name
79ce1bb - Run data generator
91c7fd1 - Port curios integration
c081944 - Remove unused interface
3e60175 - Rename some interface methods to overlap with vanilla methods to remove the need for manual implementation or bouncing
d85e40a - Make use of neo extension to cleanup GuiElement click processing
3c7f06a - Make a couple interfaces extend Predicate
8763499 - Fix nullability warnings for BE holders
bb006f7 - Update NeoForge and account for changes:
- Mandatory field in mods.toml being deprecated in favor of type
- Server configs ending up in normal config folder by default
- Rerun datagen to update pack mcmeta's
- Pass stack to customArrow
- Update how we check if milk can cure an effect
- Make MaxedModuleContainerItemPredicate's Codec a MapCodecCodec
934948e - Update datagen cache to account for data from merging 1.20.1 into 1.20.4 branch
036caeb - Update neo version to fix gametests not working
1c638f6 - Update gradle and NeoGradle
6e457af - Fix recursion
32692cf - Switch version to being a record to reduce boilerplate
51e6751 - Fix diversion transporter not visually disconnecting when a transporter it is connected to is removed
52bd386 - Update to support NeoForge's Network rewrite:
- Split various packets that previously used an enum to determine behavior into more logical separate packets
- Moved the batch security update packet to being a configuration packet so that it is sync'd to the client before the client finishes loading
- Converted a large portion of our packets to records
- Made transmitter network content packets use packet bundles instead of lots of optional fields
- Switched lots of usages of Random to RandomSource to be more in line with vanilla functionality
- Don't bother syncing position on spawn of balloons as it is already done by vanilla
- Made FloatingLong#readFromBuffer return an immutable FloatingLong
- Cache the client owner's name of frequencies so that the data is properly accessible in single player if a frequency is sent directly over (this means it should never show as null and properly use <???> when unknown)
- Removed string, array, and nullable helpers for reading and writing to FBBs and replace with vanilla/neo counterparts
- Use specific max string lengths in more places for reading and writing to FBBs
- Switched some things (Frequencies and TransporterStacks) to always serializing for payloads as the network system no longer does so in single player
- Fixed some cases where things were relying on implementation details and converting data during serialization (which no longer works in single player)
- Keep track of frequency type in syncable data so that we don't have to send the type over the network as we already know what to expect it as
- Made syncable lists use byte array data to ensure that new instances are always created and to simplify the networking logic for syncing lists
- Added some TODOs about things that need to be further looked into to confirm that they behave as expected in single player
d70f5a8 - Update NeoGradle and re-enable parchment support
fbc2251 - Update deps and compile against jei for forge 1.20.2 and update parts to account for the RecipeHolder changes
97e6ed7 - Reformat code and optimize imports
feb0aa9 - Address various misc minor intellij inspections
f2246e9 - Switch to NeoForge withAlternative for MapCodecs and properly provide errors as DataResults instead of as exceptions
c490b36 - Use a broader range of accepted codec representations for deserializing nbt for items and fluids in recipes
96e81a8 - Use constants instead of magic numbers for personal storage blocks
b7da6ce - Simplify how we create the completable future for our CrT example provider
eee8df2 - Update deps and add support for newer BOP content and biofuel recipes for BOP content
7d51514 - Replace unnecessary WrappingMapCodec with proper usage of xmap
54c3c57 - Update deps and re-enable JEI integration and update to changes in NeoForge
51caf84 - Allow flame projectile to light candles
b7f6b3c - Update deps and bump min neo version and clean up code for adding layers
479b987 - Make use of DeferredRegister's entries rather than keeping our own lists of entries
ca2b563 - Compile against ProjectE's upcoming 1.20.4 API, and ensure we load after json things so that we can properly hook it in the constructor
da65c30 - Support checking player item cooldowns for vision enhancement, jetpacks, and grav unit mekanism/Mekanism-Feature-Requests#591
0466ecd - Misc cleanup by using math related constants and helpers from Mojang's Mth class
dad865d - Cleanup ATs to remove some unneeded ones and add a couple that are now necessary to keep mirroring vanilla code. Also fix how explosions are handled in bounding blocks and meltdowns
11d59bd - WIP on figuring out which parts of the code interact with TPS in preparation for properly supporting when the level's tickrate is changed
b51212c - Move module containers over to using attachments to allow keeping the stored modules in object form and add support for custom module containers via the API (mekanism/Mekanism-Feature-Requests#449)
57a7f3e - Move enchantment based modules to storing their enchantments as part of the module container instead of hijacking the NBT. Also fix inverted check in module installation
8de57c0 - Reduce direct usage of IModule#getContainerStack and introduce preferred alternatives
bfb41c1 - Remove try catch fallback from BlockBounding shape lookup as it should no longer be necessary
9944e9d - Move walkie-talkie data and configurator and disassembler mode storage to attachments. Note: Ignores legacy values
992402a - Move mode storage for electric bows, flamethrowers, free runners, jetpacks, and scuba tanks to attachments. Note: Ignores legacy values
c64a966 - Move fluid tank bucket mode storage to attachments. Note: Ignores legacy values
d22f6e2 - Update deps and make use of some newer Neo APIs
16c4bc0 - Move container storage for all types except items to attachments (#7989)
3a9bd69 - Move vibration frequencies to data map
df73118 - Make persisting disabled providers auto disable the corresponding providers if the mod isn't present
01afee2 - Move owner, security mode, frequency item, and color item to attachments from raw NBT
139c0bf - Move upgrades to being stored as an attachment on items
18e43f0 - Move formula storage to attachments
5f2367e - Continued work on moving item data from nbt to attachments, some of it loads legacy data some doesn't
607bf73 - Move storing cardboard box data to attachments, supports loading old data from items but not from placed boxes
13e6a96 - Replace Coord4D usage with GlobalPos. Does not load legacy robit homes or radiation sources
778a4f7 - Move QIO Drive Metadata to attachments
8ea79be - Move robit skin and name storage on items to attachments, does not load old values
638a7c0 - Move storing the personal storage id to attachments, can load legacy data, but removed support for loading legacy data from 1.19 and older
9ba72a9 - Cleanup how we load legacy item data
2449205 - Move configuration card data to attachments
9db37cf - Move item storage to attachments instead of using ISustainedInventory, and make rotary condensentrator's mode persist when broken
fd52b80 - Don't reposition the mouse for certain gui transitions
888b3d9 - Full support of attachments in places we only supported NBT previously, and use a builtin codec for ItemStacks rather than our own copy
c3d76c5 - Copy Laser Amplifier settings to and from stack when broken/placed
a15626d - Remove the need for ISustainedData by making it part of TileEntityMekanism and default to handling the redstone control logic
40c9016 - Handle side config and ejector as attachments on the item
2ed53a9 - Update deps and move parrot imitations over to using Neo's datamap rather than ATing the backing map
d6a8acf - Slightly cleanup handling of tile component serialization and copying to and from attachments
27f3321 - Move frequency components to being stored as attachments and prune out unnecessary data from what gets saved to the item
d54a42f - Cleanup logic relating to reading to/from stacks
9795858 - Switch to defining the charcoal block burn time via neo's BurnTime data map to allow pack devs to more easily override it
18afdb6 - Move MekaSuit damage absorption ratio to a data map from the config (#7997)
6aa73b8 - Add a few helper methods to boxed chemical stacks and chemical type
9694b5d - Add missing lang conversion for "Stabilisation" (#7999)
c8b5dd4 - Update neo and set more efficient attachment copiers for our attachment types
128472f - Rerun datagen
d746128 - Add a soul gliding unit to the mekasuit boots and give free runners Soul Speed I when on normal, so they can run free on soul sand
c470593 - Cleanup some stuff related to holiday handling making it so that holidays get detected when they day changes and updates the corresponding effects, as well as add support for randomizing the base robit skin based on the holiday
e2504c4 - Update deps and re-enable Jade in dev
cd367ea - Remove references to EU and IC2 as it doesn't seem like IC2 is likely to update any time soon, and just confuses users (mekanism/Mekanism-Feature-Requests#622)
9dc4221 - Properly support vanilla's new water and lava source conversion gamerules (mekanism/Mekanism-Feature-Requests#595)
a4da354 - Don't throw exceptions in attachment copy handlers
7a1112c - Fix GuiEntityPreview rendering
1d18b79 - Fix IDEA getting confused where to apply the annotation processor when building the project with Ctrl+F9
88ea391 - Fix riding offsets
aafa39f - Simplify handling of ingredients in some places
bdadd0e - Simplify loot functions by removing the unused conditionals, and sort the copy containers list
75ef2aa - Prep for attachment based ingredients, and loosen strictness on nbt matching
8bd636e - Fix wind generators speed and direction not behaving properly in respect to the new world height limits #7912
ea80093 - Switch a few static blocks to using Util#make
a4f3c21 - Rerun data after merge
28ac556 - Mark things as optional in our maven pom
8513ba9 - Update Neo version to stable
aa2fcfd - Update workflows to use latest versions of actions, and try to fix codeql analyzing minecraft itself
153b8ab - Add support for trusted frequencies (mekanism/Mekanism-Feature-Requests#125)
9da22af - New Crowdin updates (#8001)
367d98b - Disable TOP in dev as it seems to cause connection issues when attempting to join a server
b37c24e - Fix some inspection issues relating to logging and javadocs
119faee - Remove references to deprecated NonNullSupplier
5577e4b - Add a couple annotations related to null checks
70e6120 - Fix z-fighting with Embeddium (#7976)
e7d8d57 - Fix accidental emissive quad removal
be7d590 - Remove duplicate render background call causing background to be darker
41dc17b - Fix QIO Drive array leaking reference to current drive status in single player
f554030 - Make how we store some bits of data in NBT more compact
1b7a782 - Update to 1.20.4 CC:T (#8003)
495c7c2 - Remove unnecessary mod dependency version ranges
a540292 - Update deps and bump neo version to properly support attachment based ingredients
7d762a2 - Fix bounding blocks not being able to replace blocks like sculk veins (#7950)
eebf816 - Fix tests not being able to be run
dddab7b - Fix floating point issues relating to batched rendering #8004
fca1c43 - Fire advancement triggers from the farming unit so that there is a chance the wax off trigger can be checked #7954
5d7297b - New Crowdin updates (#8002)
165052c - Bump version to 10.5.0
ed7f114 - Let modrinth fail silently so as to not cause builds to fail when they fail to upload to modrinth given how many issues modrinth has been having with uploads lately
6c1b67f - Update deps and re-enable jei tweaker integration
6e78312 - Add "raw_materials" to default config of allowed oredictionificator filters (#7737)
f46383f - Adjust storage recipes to support targeted typing to avoid conflicts with other mods doing the same and allow for users to better pick the type of recipe they want https://github.com/mekanism/Mekanism-Feature-Requests/issues/525
4fbf99f - Improve how we declare repos for dependencies to make use of new FG features and gradle's exclusiveContent filtering
3ad2e3d - Adjust to deprecated changes to Modrinth's Minotaur plugin
2b53b79 - Bump min forge version to 43.2.8 and rotate the QE's core using model transforms instead of using a custom model
dbb8087 - Add precision sawmill compat recipes for Farmer's Delight meat cutting recipes
3ff3a27 - Fire an event when a player attempts to teleport using the Meka-Tool's Teleportation Unit https://github.com/mekanism/Mekanism-Feature-Requests/issues/517
62de8d5 - Make mB of Heavy Water per Water pumped configurable https://github.com/mekanism/Mekanism-Feature-Requests/issues/515
d14a10c - Fix not comparing selected output for oredictionificator filters https://github.com/mekanism/Mekanism/issues/7757
83cd145 - Add support for quick moving filters to the top or bottom of the list https://github.com/mekanism/Mekanism-Feature-Requests/issues/516
b0b9bec - Fix a hash collision between item and material filters causing some filter list changes to not be synced to client properly
0c64b6f - Partially factor in old fog color into vision enhancement fog color and also better take into account the existing fog when calculating distance new fog distance. This means for most things (like lava, powdered snow, water, and darkness/blindness) it no longer completely negates the effect
4f677d0 - Improve lighting of items travelling in transporters to respect block light
10bebd5 - Slightly increase light levels of heaters and a few generators so that nearby ice melts #7659
91ae6a2 - Improve click handling of gui elements:
- Unify right click handling by overriding how mouseClicked functions so that it passes the button used to onClick methods
- Made our buttons require always having a left click action and more consistently pass handling via it and hover handling rather than overriding the corresponding methods
- Allow for right-clicking: redstone control, laser amplifier, container edit mode, and security tabs to go to the previous option instead of having to cycle through via left-clicking a bunch
- Improve how we handle playing click and beep sounds and make enabling/disabling a filter use a beep
- Make use of GuiSlot's click handling in more places such as in filters to avoid having to have numerous overrides
- Use already calculated slot under mouse in places rather than iterating all slots (configurator slot hovering and dictionary shift clicking)
- Fix configurator slot hovering tooltip clipping improperly with gui windows
25f57f0 - Try to get the carried item directly from the screen's backing menu before falling back to getting it from the player's current menu
f92b48a - Make hud keybinding persist hud render state through game restarts #7765
2f242ba - Fix not validating if a filter is enabled when adding to enabled filters while loading from NBT #7769
a14d127 - Fix Digital Miner not properly collecting drops for things like double tall flowers #7762. This is done by special casing the vanilla blocks to only target the state that has drops (providing a more accurate to mine number in the GUI) and by listening to any new drops during breaking to ensure modded blocks also get properly handled. This has a side effect of also collecting chest contents when a chest is broken and collecting things like buttons that are on a block that was mined. Additionally, made the following small improvements:
- Improved insertion accuracy into the miner and other machines by first targeting slots with matching items instead of inserting into first empty
- Pass the fake player when calculating laser drops
- Collect indirect drops for the laser tractor beam as well, and also improve drop location of items that don't fit to better represent having been pulled
ce6841f - Prevent rendering from RenderTickEvent if the local game mode is null to avoid a race condition caused by querying configs after configs have unloaded due to the world continuing to render until it is done shutting down
03ce834 - Fix Nutritional Paste saturation multiplying by consumed amount twice (#7783)
c2c05ac - Add better support for DarkModeEverywhere 1.1.2+ by blacklisting some of our draw calls from it that cause things to render improperly
0bd0331 - Convert various maps and sets to being reference based implementations where appropriate
d737f10 - Allow storing radioactive substances and persisting them when radiation is disabled https://github.com/mekanism/Mekanism-Feature-Requests/issues/552
e8c7e31 - Update deps including updating to gradle 8.1.1 and ForgeGradle 6, and switching from CurseGradle to CurseForgeGradle
ce75d7c - Make interacting with chemical attributes slightly easier and add in better validation handling to ensure things that should have the attributes actually do
e74e598 - Cleanup some internals relating to our block attributes
6f55589 - Only speed up potion effects that can be cured with milk, and also add a mekanism:speed_up_blacklist mob effect tag blacklist to allow preventing specific effects from being sped up (https://github.com/mekanism/Mekanism-Feature-Requests/issues/554)
aab1965 - Fix a few issues in our GUIs relating to "oversized" stacks #7795
c2bfbd4 - Fix Fusion Reactor Logic Adapter Insufficient Fuel Mode not working when the injection rate is zero or when D-T Fuel is being fed directly into the reactor (#7793)
993a26a - Fix exposing the heat cap for conductors that are disabled with redstone (#7777). Also extend this fix to mechanical pipes, pressurized tubes, and universal cables even though they already just NO-OPd functionality
3fba9ac - Improve readability of some upgrade result implementations
eedad76 - Fix configurator empty mode ignoring stack size (#7798) and also only allow emptying creative bins if the player is in creative
17117eb - Prevent moving buffered transmitters due to dupe bugs when the network is not full
45e741b - Ignore null tags for data packets as at some point vanilla started allowing the tag to be null there
07cbcab - New Crowdin updates (#7735)
e03758f - Bump version to 10.3.9
46894eb - Explicit typing of numbers in shaders as some GL implementations are picky in regards to implicit casting #7756
de28e37 - New Crowdin updates (#7802)
3f31b54 - re-enable publishing step
1e1c4ec - Ensure entity is not null before checking item overrides for the HDPE elytra #7815
cefeaae - Fix null pointer introduced by https://github.com/mekanism/Mekanism/commit/d737f103892e4eea61b1196ff21deda426407a56 (#7819)
8778b05 - New Crowdin updates (#7807)
[ci skip]
9527f9e - Merge remote-tracking branch 'origin/1.19.x' into release/1.19.x
b109b72 - explicitly set token to env variable
71e9690 - fix maven upload
ca51923 - Fix digital miner crashing when trying to chunk load and mine in the chunk it is in
d7cba0f - Fix evaporation plant on the client not showing content in the input tank due to not knowing the height of the plant
dc55547 - Update CodeQL to include a timeout (#7720)
8111f1c - Fix the formulaic assemblicator's inventory flickering at times due to stock control organization causing more organizations to occur
1e8ddfe - Fix mode key being off by default on all installed units instead of just off by default for the elytra unit
86cfdbf - Fix being able to charge laser amplifiers and tractor beams in energy storage devices
2043134 - Fix fission computer setBurnRate method not giving clean error messages #7725
1940cc8 - Fix our generic get name helper for unknown registry type objects, and expose some methods to computers for the seismic vibrator to get information about vibrated chunks https://github.com/mekanism/Mekanism-Feature-Requests/issues/507
82fb896 - Wait until after the texture atlas has been fully stitched to clear our cached models
6742a67 - New Crowdin updates (#7724)
ee5707f - Bump version to 10.3.8
e27e3cf - Add CodeQL workflow for GitHub code scanning (#7678)
6b4d4ec - Update deps and bump min forge version to 43.1.61. Also perform a bit of minor cleanup to build files
a0d28ba - Address various IntelliJ inspections
10a4825 - Minor javadoc formatting fixes and fix a couple missing units in the radiation manager javadocs
5405bdc - Minor fixes relating to CodeQL's inspections
1f8e68e - Rerun code formatter
4d04f81 - Fix being able to extract lava from heat generators, and bio-fuel from bio generators with pipes
e0a2df2 - Make plastic glow blocks emissive (causes them to look very slightly brighter)
20a3430 - Fix copy paste error causing AE2 decoration compat recipes to conflict #7674
4a92a18 - Expose a few more primitive based util methods to FloatingLong and in place flooring/ceiling. Also reduce unnecessary object creation where possible in FloatingLong method implementation
50908e5 - Restructure the radiation command code a bit and add two subcommands one to add radiation to entities (addEntity) and one to partially reduce an entity's radiation level (reduce) https://github.com/mekanism/Mekanism-Feature-Requests/issues/488
4036fae - Enable left or right clicking the center dimensional stabilizer location to enable/disable all chunks at a target radius https://github.com/mekanism/Mekanism-Feature-Requests/issues/472
1fa222c - Properly hide builtin Jade energy bar for newer versions of Jade and improve checks related to showing tank contents for TOP
ec799d3 - Add support for disabling all types of filters and also clean up a bit of code related to interacting with the backing filter list (should provide some minor performance boosts in various cases)
1a89fb3 - Don't expose caps on various items if configs aren't loaded yet (pre-joining world) and use defaults for fillItemCategory config queries before the world is loaded #7670. Also switch creative energy cube default side config to setting nbt in the creative tab instead of changing on place, and improve how the logistical sorter calculates its initial facing to happen before actual placing instead of after
c9d8462 - Move EthyleneBurnTime config out of general mekanism config to generators config and split it into two configs ethyleneBurnTicks and ethyleneDensityMultiplier https://github.com/mekanism/Mekanism-Feature-Requests/issues/491
c2ea3e4 - Fix a few different machines showing that they are using energy when they are not actively doing so #7684. Also fix electric pumps not using energy as often as they are meant to
25459b3 - Expose a way to iterate internal stacks of a QIO Frequency to the API to allow for slightly better performance in some use cases
f575c89 - Fix a few bugs when transferring items into or out of the QIO dashboard when multiple packets get sent before the response is received #7647. Also improves transferring performance slightly
d229017 - Reduce processing of changes to QIO items when no player is viewing a dashboard
dc8bc7c - Update deps and add support for properly handling recipe stages' staged recipes in the QIO crafting windows. Also fix output of QIO crafting windows showing tooltip when a recipe is not accessible by a player
c2715d1 - Make the digital miner mine blocks in a chunk in reverse order so that it mines from top to bottom #7657 (makes it better handle blocks like gravel and sand)
8dc9dfd - Only apply the swim boost from the hydrostatic repulsor unit and use energy if the player is in any fluid. Also fix it providing a speed boost when there is no energy present
75a689f - Improve performance of multiblock ejection calculations by caching the side pieces auto eject to
fb120bc - Adjust a couple lang entries for clarity #7691 #7654
eeb17e7 - Fix edge case that could lead to forced retrogen causing crashes #7699
fb9f7bc - Improve performance of frequency component tick and performance of teleporter frame searching and teleportation validation. Also fix changing QIO drive array frequencies not properly supporting changing back to the original frequency
f011e5f - Fix not transferring security mode or owner in recipes
ffe6eb2 - Update jei and switch to new maven for it
e799c70 - Fix validation predicate being overly strict for rotary condensentrator fluid slots #7664
d2ffef3 - Update number of blades in a turbine if someone does unsupported things and removes or adds blades while the turbine is formed #7650
c0c34e9 - Fix respawning setting entity radiation to an invalid value #7680
110877f - Increase the max number of digits that can be typed in the fission reactor rate to ensure there is always room to include two decimal places of precision #7633
0b40f2d - Create a tag to determine what items are capable of having the mekasuit hud display. Replace alignHUDLeft client config with a reverseHUD config that also makes the MekaSuit compass and module icons switch sides as well to prevent overlapping.
2a93818 - Add configs for most of the tank capacities' in various multiblocks
aef7757 - Allow enabling/disabling the elytra unit with the mode switch key https://github.com/mekanism/Mekanism-Feature-Requests/issues/497
- Mode switch for elytra disabled by default (must be enabled in module tweaker)
- Does not support having the jetpack or grav unit support the mode switch key at the same time (though sneaking when flying with the elytra unit still works to exit flight without disabling the unit)
971f381 - Expose tank capacity for heat generator, bio generator, and gas-burning generator to the config. Also moved the bio generation config one level deeper, so it will need to be set again
5395775 - Address some CodeQL inspections
7db2626 - Fix various mek related things rendering through blindness and darkness effects
d5106ca - Expose a simple insert only IItemHandler capability on logistical transporters https://github.com/mekanism/Mekanism-Feature-Requests/issues/444
Note: If the side is manually set to none or push the capability will not be exposed
2966990 - Disable EU energy display at all times as we don't actually have IC2 integration setup because of it not being ported yet
4a6fc7d - Allow bins and the digital miner to auto eject to colored transporters by using that transporter's color
980fa94 - Work around ZC not being able to handle expansion based casts in optionals causing some of our CrT example scripts to fail #7714. Also move our example scripts into a mekanism subfolder for better organization
d67d714 - New Crowdin updates (#7653)
c8d9d80 - Bump version to 10.3.6
c613f1a - Update to support CrT 1.19 #7638, add back the now removed registry name helpers to our exposed CrT objects, and slightly adjust the path of a few recipe managers. Also fix a couple example scripts using a broader type when showing the method signature
9a1c155 - Update deps and bump min forge version to 43.1.43
b39ee22 - Fix Atomic Disassembler and Meka-Tool not taking attack speed into account #7643 and also expose their attack speeds to the config
99976ec - New Crowdin updates (#7632)
6093851 - Bump version to 10.3.5
9d03a8a - Don't merge multiblock caches if there is only one found cache #7601. Also address long standing todo related to dropping items that failed to merge and fix a couple issues with reject calculation
061a1d2 - Make lasers (including tractor beams) ignite TNT based blocks rather than breaking them https://github.com/mekanism/Mekanism-Feature-Requests/issues/441
7469aa8 - Improve performance of how we render cuboids in BERs for things like contents:
- Skip rendering faces that can't ever be visible by how the camera is positioned (still doesn't have any checks related to blocks in the world)
- When only rendering one face (or two parallel faces), short circuit the number of attempts it makes to draw things inbetween
- Only calculate view adjusted normals once
- Mark some faces of models that are never visible to not render (such as the bottom face or the three inner side faces of the bio generator)
- Make valve's only render to the fluid level instead of rendering all the way to the bottom regardless of fluid level
- Slightly improve bounds on fluid tank's content model so there are fewer gaps
- Improve bounds on mechanical pipe contents models and add a nicer model for partially filled vertical pipes
9ba1ebf - Simplify the code behind transforming and properly lighting the Robit's skin select window
12a76f5 - Switch some uses of packing/unpacking color over to using mojang's FastColor.ARGB32 and switch some of our vertex color calls over to using ints rather than floats to reduce a couple minor extra calculations that were taking place
2c15aee - Fix accidentally using the wrong color for the selection highlights in the last commit
670c8de - Remove some unneeded entries from various model files
82c9af5 - Ensure stock control map is initialized from the start for the formulaic assemblicator so if another tile ticks and inserts before the assemblicator first ticks, then it will respect the slot restrictions #7604
513a98a - Improve a lot of our json based models:
- Remove redundant rotations
- Remove redundant models and reference vanilla types where appropriate
- Remove some faces that never can be displayed and mark others as being able to be culled when a side of the block is covered
- Switched most of our port rendering on machines to being layered and using cutout to reduce z-fighting/texture glitches and allow for all the ports to properly appear as fullbright quads
- Made the industrial alarm's inactive model complete and use the same model for the item variant rather than using an ISBER
- Slightly simplify a few voxel shapes
d3f903a - Fix a few minor visual glitches from the previous commit related to cutout and seams on the ports, and also transfer a few missed ports
f5e8574 - Minor improvements to the drive array baked model and how uncullable faces are added
a8cd305 - Cull possible faces for fluidic plenisher and compact electrolytic separator model and 16xify it
4542220 - Fix copy paste errors causing a couple sides to cull under the wrong conditions
1bc70d4 - Converted Chemical Dissolution Chamber to new JSON format
c9cd7e5 - Added display settings for Chemical Dissolution Chamber model
9e94f10 - Converted Fluidic Plenisher model to new JSON format
1a373b4 - Changed CDC model particle texture
db386fb - Converted Rotary Condensentrator to new JSON format
f43651a - Converted Seismic Vibrator to new JSON format
c3290a6 - Removed unused textures from old models
1e95878 - Converted Solar Neutron Activator to new JSON format
Also removed old texture asset
ac80b4c - Minor Seismic Vibrator texture changes
5b9b756 - Converted Quantum Entangloporter to new JSON format
5d15290 - Minor Quantum Entangloporter texture update
8268adc - Added Laser Texture
c6d07f3 - Convert Energy Cubes to using a custom baked model and model data for the sides rather than using a BER (this improves performance a fair bit). Also switched rendering the cube part of the energy cube item and the tank portion of the fluid tank item over to rendering the baked model around the dynamic part instead of having a duplicate code variant for them. Also made a minor memory improvement by only storing a new instance of a transformed baked quad if the transformation actually occurs
e371d4f - Work on hooking up the CDC and SNA models that got converted to baked models and fix/improve some misc model related stuff
0e08423 - Simplify liquifier item model
72e2893 - Fix some z-fighting in the rotary condensentrator model due to 0 width uvs
87b47f6 - Hook up new seismic vibrator model
7740418 - Slightly simplify some model files
4de47dc - Restructure how transmitter baked models cache their baked quads to drastically reduce the max memory usage
6d18f0f - Update deps and bump min forge version to 43.1.24 and ensure ambient occlusion data is not lost when transforming quads
2101d4f - Fix calculating uv shift transform the wrong way causing lit energy cube leds to display strangely, also disable shade on various leds to make them look more like bulbs
1f1a7fa - WIP on optimizing QE model (removed unused faces, applied cull to various faces, and also apply emissivity to led ports
02ee558 - Hook up quantum entangloporter model and remove the large ports from the new model for the time being. Also removed the pipe from the new fluidic plenisher model for now (both of these may come back eventually)
c048515 - Fix unboxing of chests that were double chests not updating the state properly and becoming a single chest
e9f25fd - Fix a handful of issues related to energy conversions:
- Fixed potential loss or creation or power at very small (sub 1 FE) values
- Changed conversion rate configs to only allow one number that then is used as an inverse for converting the other direction rather than allowing potentially conflicting numbers. Also clamped these values to being between 0.0001, 10,000 to ensure they can be converted both directions
- Fix a couple minor issues in FloatingLong regarding missing short circuits and not always properly modifying the source object when it sometimes should
- Exposed configured energy conversion rates to the API
269f353 - Make the chargepad's back not be taken into account for entity collision https://github.com/mekanism/Mekanism-Feature-Requests/issues/455 (it is still taken into account for projectiles though)
41cf84c - Treat bubble columns as fluid in various checks #7609
2ac427f - Make QIO drive array show stored drives when in item form
d0ac6ce - Exclude Meka-Tool and MekaSuit from pick action when possible if they have any modules installed
eca215e - Fix cardboard boxes being able to dupe xp in some cases #7600
3f0556c - Switch to forge's relatively new auto register capability annotation to make it clearer when looking at classes in the API which ones are base types of capabilities
5ffaf15 - Allow right-clicking irradiated entities with a dosimeter to view their irradiation levels https://github.com/mekanism/Mekanism-Feature-Requests/issues/446
544959c - Fix dosimeter and geiger-counter units for the MekaSuit not properly updating for small values #7629 and reduce network sync frequency for large values to only happen as needed
e5c2bef - Replace usages of BufferedImage with NativeImage
b91f7bd - Minor performance improvement in converting to and from argb to abgr color packing
5414902 - Don't display all advancements to chat to prevent spam and only do so for the "bigger" things
21a5eea - Only trigger radiation damage advancements if the damage wasn't blocked, and add a couple more advancements related to damage/death. Also made it possible to earn death based advancements on hardcore using a totem of undying
e3d3597 - Update deps, and start using CC maven now that it is back up
10b0e23 - Shrink turbine and wind generator texture sizes
2ea0b90 - New Crowdin updates (#7599)
9041b40 - Bump version to 10.3.4
514dbf2 - Update maven example version to point to the 1.19.2 version of Mekanism
84fb60b - Update and re-enable AE2 in datagen now that it can launch properly in 1.19.2 and with other deps we load during datagen
9b29e96 - Fix broken UVs for part of MekaSuit helmet that got broken as part of V10.1
84553f2 - Improve performance when changing modes for module configs by only running the needed checks for the corresponding config items
cc97499 - Fix a few minor z-fighting issues with the MekaSuit and some modules, fix a couple mostly hidden faces being textured wrong causing coloring to slightly leak through, and fix a couple pieces not being replaced when they should be
2900461 - Make scroll wheel "quicker" when scrolling through large module config screens
cf49dc1 - Add a helper method to GuiUtils for rendering code that doesn't accept a pose stack with a given pose stack
82d1a6a - Allow gui windows to consume/prevent scrolling on lower layers
554a39c - Make use of shaders to add support for changing the color of the MekaSuit (https://github.com/mekanism/Mekanism-Feature-Requests/issues/72). Other changes made to systems used:
- Add in handling to the color picker window to support selecting alpha values
- Add a preprocessor paste handler to text boxes to allow pasting RGB(A) values separate by commas and spaces into the color picker rather than just commas
- Fix scroll amount resetting when changing window size for module config and text scroll lists
- Misc cleanup of GuiModuleScreen to make implementation of the color picker config type easier
83463ad - Fix jetpack mode slider in module tweaker going slightly past the bounds of the screen
b9e3ebd - Make it so free runners and armored free runners have another mode ("Safety") that protects against fall damage but does not provide a step boost https://github.com/mekanism/Mekanism-Feature-Requests/issues/425 (any free runners currently set to disabled will load as Safety)
be49d7d - Fix BasePacketHandler#sendToAll having issues in LAN #7577
4caefd9 - Update deps
45ff365 - Improved a bunch of misc things related to rendering:
- Created a system to better allow for batching custom render types in Block Entity Renders so that the SPS, industrial alarm (#7575), and energy cube core
- Update a couple custom render types to be closer to their vanilla counter parts
- Fix some minor z-fighting in the atomic disassembler's model and the industrial alarm's model
- Made the jetpack's wing blades (glass) use blur
- Improved how the Quantum Entangloporter model renders the overlay
- Fix the industrial alarm rendering the aura when inactive (#7575)
e3a7dd2 - Fix industrial alarm not activating when placed next to an active redstone signal
8e37a32 - Make the laser focus matrix require a pickaxe to break and make it, structural glass, and reactor glass all use the glass break sound
de5b01c - Added ItemDecorator for Mekasuit helmet / bodyarmor to display stored fluid/chemicals (#7584)
Bumped min forge version to 43.0.22
Co-authored-by: Sara Freimer <sara@freimer.com>
3515542 - Update deps, re-enable projecte in datagen and adjust a couple of things to make use of newer forge features
8fb73c8 - Bump min forge version to 43.1.1 and change capability reference to non-deprecated variant
e189f92 - Fix multiblocks and other block entity renders sometimes not rendering properly when somewhat off the screen
a6482df - Misc rendering improvements:
- Minor performance improvements by looking up cached models using computeIfAbsent rather than changing contains/get and put calls
- Made it easier to interact with Model3D and adjust values for them
- Fixed RenderData having different hashes based on position causing extra models to have to be cached when they are the same just positioned differently
- Cleaned up some duplicate code related to having TERs render models
- Improve how model data is handled for the QIO Redstone Adapter
- Allow Fluid Tank Item renderer to use the normal Fluid Tank's cached models
- Only mark QIO blocks as needing a model update if something about them changed
- Fix a minor amount of clipping when rendering teleporters in specific orientations
- Created a currently disabled system for rendering the fission control rod glow using baked models and custom model data rather than a TER to improve performance (currently disabled due to other rendering issues and transparency sorting)
102c86e - Make lasers use a builtin particle render type and draw back face manually rather than disabling cull
a8c8a0e - Fix fusion reactor not returning current production rate to computer integrations (#7585)
4b2a7e4 - Fix portable qio dashboard not updating color if frequency color was changed in another spot. Also make it so that other qio components display the color corresponding with their selected frequency when in item form
e7a9d45 - Make Fusion reactor stats take last actual injection rate into account #7591
743604d - Ensure we clamp the miner's min and max height to the level on placement #7589
fa5e242 - Fix not clearing all transmitter data properly when leaving a world #7592
c4ac163 - Fix gas burning generator not de-activating properly when burning ethylene #7579
aecd113 - Fix leds rendering as off on energy cubes set to input/output and fix sides not rendering on the item variant of energy cubes when they are set to input/output
9fe1050 - Fix some incorrect scaling math in fusion reactor after recent cleanup and also force end batches at a more proper time when not using fabulous for some custom render types in TERs so that they consistently render behind translucent objects
5e38407 - Simplify required calls for rendering tooltip text in the seismic reader and also make it render fluids in the reader
c838b08 - Make jetpack and grav unit give off vibrations when in use #7593 with a config option to disable the grav unit giving off vibrations. Grav unit vibrations have a larger detection radius when actively boosting
4e3cace - Allow configuring the explosion radius of meltdowns https://github.com/mekanism/Mekanism-Feature-Requests/issues/438
3196cf8 - Fix the remaining cases that allow for multiple controllers on fusion reactors and evap towers https://github.com/mekanism/Mekanism/issues/7595
a42e6b6 - Make teleportation energy cost cross dimensions take distance into account. Attempts to minimize the distance cost when teleporting between dimensions of different coordinate scales
7b7b2c6 - Add profiling support to our delayed translucent renders
00e662b - Make multiblock saving on content changing more consistent #7587, and only check for comparator updates when needed, and make the SPS able to provide a comparator signal based on the input tank
59e0690 - Add support for redstone control to the Quantum Entangloporter (disallowing auto ejecting when mode is not met) https://github.com/mekanism/Mekanism-Feature-Requests/issues/439
29a21fe - Bump min forge version to 43.1.3 and add individual permission nodes for our various commands
acfaafa - Display more info on heat tab for heaters, and display a heat tab on all the tabs of the fusion reactor (https://github.com/mekanism/Mekanism-Feature-Requests/issues/440). Also add a heat tab to the fission reactor stat's tab and fix the fusion reactor not syncing enough data on the stats tab
a711f81 - New Crowdin updates (#7572)
a572b1d - Rerun datagen to fix a couple issues referencing the wrong path
5f89894 - Bump version to 10.3.3
7198e02 - Fix deprecation warning related to BreakSpeed#getPos
7e00cd6 - Bump biomes o plenty dev dependency so that we can run our datagen again and added tooltips to back buttons that when hovered now display the word back
1685579 - Make use of mojang helpers for length in various classes to slightly clean up some code
ed6c106 - Fallback to default value for out of bounds module enum data rather than looping to a valid value
79ca8f8 - Allow ModuleEnumData to figure out the enum's class automatically
1d321ad - Rewrite parts of GuiModuleScreen to support there being more options than fit on the screen at once, and also fix spacing and positioning of text under enum sliders in the GuiModuleScreen
b9d7f69 - Refactor and rework various parts of the Radial menu system:
- Improve rendering performance
- Supports radial mode items in offhand just like the normal mode switch key already supported
- Added support non enum based radial modes
- Added support for multi-depth radials and backing up to a higher depth one
- Adjusted coloration slightly for speed related modes in the atomic disassembler
- Made scrolling in the radial menu native to the menu rather than done via events
- Moved textures that are used primarily for radials to a radial sub folder and renamed them slightly (transmission textures are still where they were before)
- Improved lang entries for atomic disassembler modes
- Added a client config option whiteRadialText to allow overriding coloring and displaying radial text as white for improved colorblind readability
- Added radials for the Meka-Tool's vein mining and Excavation Escalation units
- Allow Meka-Tool mode changes with scroll wheel to show on status bar
ad0379e - Optimize image files
25a67fa - Add validation to cardboard box blacklist config to ensure the values are modids and also make it use the define list helper
60a542a - Update deps and port to 1.19.2, and drop support for 1.19.0 and bump min forge version to 42.0.9. Added some initial game tests related to transmitters, and also make use of https://github.com/MinecraftForge/MinecraftForge/pull/8909 to mark transmitters as unloaded when the chunk they are in becomes inaccessible (#7428 and hopefully also #6356) (#7560)
f7ecec2 - Add our gear from Mekanism: Tools to the new armor and tools tags forge added
d84c6f2 - Use Mojang's Mth.clamp helpers in places we used a combo of math min and math max
b62d76a - Fix solar generators having a max output identical to the max generation rate rather than 2x the max generation rate (#7567) and improve how the max rate is set to reduce odds of errors in the future. Also make the hard max production bound for heat generators be configurable and use it for calculating the max output rate
5adf27e - Create some helper classes for storing constant values based on config values so that they only need to be recalculated when the config changes rather than every access
961e619 - Make Paxels for Mekanism based materials use tags so that they can be made with tools other mods add of the same type (for example steel paxels made from another mod's base tools)
2302678 - Update gradle wrapper to 7.5.1, and also update grgit to 5.0.0 now that the jenkins in theory is using java 11 instead of 8
618c168 - Only invalidate cached config values that have invalidation listeners if the config is loaded. Also commit missed file from updating gradle wrapper
625ebbd - Changed obsidianTNTBlastRadius config to a float instead of an int and also added ranges on a bunch of number based configs that previously didn't have any
7eaac76 - New Crowdin updates (#7562)
7225e81 - Rerun AE2 in datagen now that it has updated (but leave it disabled afterwards as it doesn't load on 1.19.2 yet and doesn't load with the latest version of jade
477c0f8 - Bump version to 10.3.2
此版本支持 minecraft-1.19.1 ; minecraft-1.19.2
但不再支持 minecraft1.19
fec4c6d - Update maven example version to a 1.19 build
19a5d53 - Fix issues with factories displaying wrong warnings at times on servers due to Map#of iteration order having been different on the client than the server
9baddb9 - Update mek radiation heal command to set to baseline instead of zero (#7559)
Also updates baseline radiation of the entity when joining to baseline from zero
21d9f8a - Update deps and bump min forge version to 41.0.113 and remove the custom mekanism:mekanism model loader in favor of using forge's patched in system for setting the light level of faces via models. Also re-enable base ILikeWood in datagen
c58fad8 - Set fluid render layers on main thread as it isn't thread safe anymore https://github.com/MinecraftForge/MinecraftForge/issues/8911
db466df - Fix radiation overlay not consistently displaying with the correct color #7558
3af4c07 - Re-enable datagenerators for ilikewood plugins and add support for mangrove blocks added by base ilikewood
d871267 - Add support for QIO Redstone Adapters to do fuzzy matching and ignore NBT when calculating the count (loosely related to #7561)
94fe7c6 - Fix invalid accessing of client configs from the server side preventing the QIO item viewer containers to not open in dev on a server
c4c9737 - Add a button to the QIO crafting windows to allow emptying the grid to the QIO storage/player's inventory
e381a56 - Update to support 1.19.1 (still supports 1.19 as well for now)
1fb7b8a - New Crowdin updates (#7554)
8045d0d - Bump version to 10.3.1
此版本支持minecraft-1.19.1
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
cf02a45 - Update maven example version to 10.1
3955be5 - Fixed getCapacity computer methods for pipes, tubes, and cables to grab the capacities from the network (#7367)
eeba842 - Adjust how we add sawing recipes to CraftTweaker ot not be ambiguous and fix one of our typed expansions being for the wrong class
3fcbf11 - Make slots on windows (such as in the QIO crafting windows) able to support viewing recipes and usages via JEI
ff9665f - Fix issues with changing mode using the mode key for the locomotive boosting unit and excabation escalation unit when the maximum number of upgrades is not installed #7372
3f047ca - Sync environmental radiation level to client instead of just the scale so that the geiger unit can work properly on servers #7373
879f9b8 - New Crowdin updates (#7365)
24108d9 - Bump version to 10.1.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.
49c88f0 - Work on attribute system for gases
c8b4973 - Improvements to chemical system
e3fcdc1 - Define CAV as nonnull, other minor improvements
b672fb0 - Start work on transitioning item and block models over to being created via data generators, buckets and tools module are done. Also slightly reorganize texture structure for mekanism tools
94bf266 - Fix Robit translation
1fb65a7 - Cleanup block loot table data generator code
b8a0ef8 - Continue work on moving various model files to being created via data generators
a85fc6d - Fixed integer-based emission target splits, some updates to gas attribute system
f4133fe - Increase base capacity/pull rate of tubes and pipes, fix fluid + gas gauge overflows, cleanup reactor
eee045e - Rebalance interaction between Fission Reactors, Boilers and Turbines A lot of more work is still necessary, but this will hopefully stop abuse of the system
a4b022e - Improve update delay calculations, improve balance of Thermal Evaporation Controller + Resistive Heater, fix Boilers accepting steam Also, doubled efficiency of steam in reactor to give it a further edge and doubled Turbine steam processing speed
2008669 - Fix reactor stats scaling, add a base conductivity value to the boiler, bump fuelwood heater generation
ac9ab07 - Incomplete refactoring of heat API Very incomplete, doesn't even compile- just wanted to get my current changes out. Should provide an idea of how the system will be implemented.
e14f0f1 - Some minor work on method signatures for the heat api
b56bb05 - Continued changes
df3bc25 - Slightly consolidate energy/fluid/infusion/gas tile management for better readibility
7c8da92 - Continued work
4d73458 - Continued work
ea33775 - More work
7f2cc4d - More work Reactor math sucks
13e149b - Continued work, fix a pretty serious issue with cache merging
39fdf64 - Fix some calculation issues
36f0f91 - Minor fixes, ready for testing
a63c4f0 - Work on cleaning up a few things related to the heat api rework
139c73b - Heat API fixes, better calculations for transmitter content scales (in cases where we're transferring very small amounts, #6045), fix mode change #6041 Unfortunately, as we de-register networks each time a transmitter is broken, it will appear as though the contents 'refresh' each time a transmitter is broken. This can be looked into more further
a11c2b6 - Fixed Thermodynamic Conductors We really don't need a proxied heat handler for the conductors, instead we wrap the capability around the tile
317c3f1 - Make Thermodynamic Conductors read/write
40097e4 - More work on cleaning up various calls
49008a5 - Fix some merge conflicts
20f0c44 - Fix Thermal Evaporation Controller, fix conductors not disconnecting from Quantum Entangloporter, fix persistence
88739f0 - Few more minor fixes
ddf85d3 - JavaDoc heat api, as well as some minor improvements
4fadfc9 - Base temperature system around 0 degrees Kelvin rather than ambient temp Also, debug work on Boiler.
54463fa - Fix superheating element active state, other various fixes Beginning to transition back to doubles
36dbf34 - Start transitioning to doubles
999061e - Actually finish heat transition
be8abf0 - Minor fixes, fix universal cable content render
6f43b62 - First pass at converting chemical amounts to be longs instead of ints in preparation for eventual changes to mass amounts of steam production - Various minor config fixes/adjustments, highly recommended to regenerate configs to ensure things work properly - Improve networking for various things by using varInt rather than int, as the locations we pass ints over networks they tend to be small - Partially rewrite ProjectE integration to better handle/fail gracefully if a recipe has a long amount of a chemical, and properly handle if multiple inputs are the same
3e55ff3 - Minor fixes
15f76ee - Fix some rebase errors
57915f3 - Convert dynamic network's capacity to longs. FluidNetwork still clamped to integer for now though. Also fix some potentially incorrect calculations for energy network scale at large network capacities
368f5a6 - Heat Generator fixes
e5c87a0 - Fix FloatingLong to string with decimal places, and add also allow for syncing just the decimal changing in the gui
b5ffebb - Fix heat simulation not taking heat capacity into account, fix Boiler client desync, fix Reactor heat management, fix simulation logic not taking heat capacity into account, adjust heat capacities and production rates for realism
3341511 - Make all chemical fluid variants be flagged as gaseous #6048
c12ecb2 - Update zh_tw.json to 9.9.18 (#6040)
1f7aa9d - Make Oredictionificator handle storage blocks (#6052)
e42fde8 - Update CTM mcmeta files to use the correct block registry names, and add to dev the dev version of CTM and update forge
06d5907 - Minor code cleanup
722249b - More properly handle the ability to have gas usage be a long
a1c555e - Cleanup/reorganize some config values, and add more config options for changing settings for gear in mekanism
a05dd1a - Improve Flamethrower heat logic
8d7cc8c - Improve the visual selection box of various things, and make some moving TERs have their selection boxes move with them
101cc74 - Bump version to 9.9.19
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.
d32dd87 - Fix QE voxel model, improve interactions with TransitRequest/TransitResponse to make code cleaner and prevent some unnecessary computation
90eaa7b - Allow Fluid Tanks to push overflow water to upper tanks even if auto-eject is enabled. Also, mild performance enhancement.
6f1b2e9 - Cache pathfinder score alongside path itself, further reducing computation
e463776 - Fix energy usage of free runners when stopping fall damage, and make it only reduce the damage by as much as it has energy for. Also add a hud display string to show how much energy is currently stored in the free runners being worn
d47e417 - Fix dynamic tanks and boilers voiding contents on load
6de9665 - Implement more advanced pathfinding caching, preventing single transmitter updates from flushing the game-wide cache This should lead to pretty substantial performance increases, especially in large servers
9294e3e - Rewrite how mode changing for items works internally, and change it so using the mode change key makes the mode go forwards, and holding shift (sneak) and using the mode change key makes it go back one mode (note: this is how it used to go forwards) #5833 - Moved atomic disassembler to using the mode change key rather than sneak right clicking - Added support for scrolling for all mode items that get used in your hand - Added a few more lang keys for when modes change, and changed a couple lang keys slightly to be more "unified" - Changed key bindings to set their "category" as the localization string for Mekanism rather than directly as Mekanism - Made mode change keys only get tracked when not in GUIs - Added changeable keybinds for showing machine descriptions #5158
4574219 - Change network unique id and multiblock unique id to actually being UUIDs this will cause most multiblocks to lose their data on initial load. Fixed turbines not quite working properly due to the accidental loss of the correct block
545145e - Fix setting energy values in GUIs #5996
d7166a4 - Cache the baked quads for transmitter contents, drastically improving the FPS #5127
1a344f2 - Start work on making networks sync to clients more accurately and not require the client to request an update from the network. - The contents of the network don't sync yet on first load - Various bugs need to be fixed about the visual connections of incompatible networks, though I believe this might have been broken earlier during the port from 1.12
053cb08 - Fix some invalid connections from rendering
21945d5 - Stop networks from having a specific client side tick, as they no longer need/use it
0ce1684 - Improve network auto disconnection
f917691 - Further improve the logic, by not allowing connecting to orphan transmitters if it can have incompatible networks. Instead once a network claims an orphan then it updates the connections
b1af021 - Improve how we invalidate the transmitter's model, hopefully should finally resolve #5922
dcdd2c3 - Use our own custom handling for drawing selection boxes of some of the more advanced ones. #5747 Eventually we may try to further improve it so it draws lines at angles and such, but for now this is a quick and easy way to massively improve the FPS
a27ae7e - Define a way to sync less information on non initial update packets. Use this to do the initial sync for what is in the contents of pressurized tubes, mechanical pipes, and universal cables
c0cb85e - Fixed Robit crafting, added tighter JEI integration to Robit & Formulaic Assemblicator
671b449 - Fixed multiblocks not sparkling when reforming, fix allowed frame blocks for multiblocks
91f69e5 - Fix CME (#6009)
2d4eaa1 - Fix various issues with rendering not updating properly when incompatible networks merge after becoming compatible, or if the network is empty, and the "type" that is passing through it changes Note: There are still some issues with the networks not properly merging/once unmerged again, visually are able to connect
1732b2b - Add some safety checking against zero capacity networks #6010
5b2c63c - Fix fallback for before configs load for pipe pull rate limit. #6011
d9a2e29 - Slightly improve logic for connecting pressurized tubes or mechanical pipes
9e85eff - Further optimize mark dirty of our tiles so that we can call them in a way that does not have to recheck the blockstate if we don't believe it has changed #5997
acf8dc3 - Fix not properly handling attempting to send large amounts of items at once
f0dc5e6 - Cleanup not properly handling input/output supported checks for entangloporter side configs, and also reduce amount of duplicate code needed for creating proxies for valves in multiblocks
51b7400 - Fix bio generator not actually needing fuel to produce power #6017 and improve its fluid scale calculation
13424b6 - Fix Coord4D constructor
88c2e33 - Work on moving gui interactions to a newer packet system
76ad73c - Fix heat network flow translation
1c3ae0f - Fix a couple lang issues, and make it so that the directions are localizable
b5b6af7 - create ja_jp.json (#6025)
e3cb07c - Adjust indentation to match other json files, and remove the old ja_jp.lang file now that it has been properly ported
4c17257 - Bump dev forge version and bump TOP version to directly make use of the new PacketBuffer params
91a5eb3 - Write backend for creating sounds.json files via data generators an move our sounds.json files over to being made via data generators. Also strip out the optional replace tag from tags when it is default, and strip out forge's new optional list from tags when there are none set
4ad99b3 - Cleanup our implementation of having all types of tags be able to be provided from a single class so as to make it more easily extensible
ca61a0d - Continue work on rewriting how we handle packets, and cleanup some constructor calls
89bc6ce - Continue work on rewriting how we handle packets
67785a7 - Move transporter syncing to its own packet rather than using PacketTileEntity
ee2571d - Continue work on rewriting our packet handling system
3bcf9bc - Rewrite handling of flamethrower, jetpack, and gas mask active state sync
fc20942 - Continue work on rewriting handling of packets
27e0ff4 - Cleanup implementation of security update packet
67fee8f - Make it easier for modules to register their own packet handlers and move generator's packet to being in its own packet handler
4fbc92d - Remove the need for TileNetworkList
5fba2b7 - Fix some issues with recipe upgrading #6019, and also improve performance of calculations so that we don't bother checking items that don't have any NBT. Also fix the majority of items ending up with an empty mekData tag, and fix jei subtype interpreter not working if one item supports multiple types of data
9243dcc - Split portable teleporter packet into a client to server packet and a server to client response packet
c6533a3 - Rewrite handling of gauge dropper and add support for handling infusion types in it #5821. Also make "durability bar" for storage items like gas display the color of the stored gas
0e50209 - Void excess energy for upgrade recipes, fixes not being able to craft a robit with filled energy tablets
87e98e2 - Bump version to 9.9.18
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.
8cfe2a4 - Fix ore/resource harvest levels (#5942), fix Paxel harvest levels
7923962 - Hopefully fix transmitter model issues (#5922), remove client-side markDirty() call We used to call markDirty() on the client as it would trigger an all-sides neighbor update which was necessary for some kind of multi-mod interaction. It's not relevant anymore though as far as I can tell, especially since we have an internal markDirty() impl which prevents such updates.
c8476c1 - Fix harvest level changes
7e9ff56 - Initial experimenting with using vanilla's sync/update packet system rather than our own
8ff4379 - Move all NBT keys to strings. Some things got renamed so various misc things may be voided from Mekanism machines/blocks so I would recommend emptying things just to be on the safe side. In some cases it will just be machine configurations that get reset. Also changed how the chunk loader component saves chunk positions, so you may have to go and reload the chunks to get them to stay loaded again. Things with bounding blocks like digital miners, advanced solar generators, security desks may unbind the bounding block from the actual main block, so should probably be broken/picked up before updating
b387c94 - Move JSON string key constants to constants to make it easier to prevent typos and if there are typos at least have them be consistent throughout serialization and deserialization. No current recipes should break as nothing has been renamed.
006dbe6 - Only sync the energy scale to clients for energy cubes unless the gui is open
03738bd - Fix Gas Generator sound, fix Gas Generator 'burn rate' readout (#5047)
ce6aec5 - Start converting more tiles to syncing stuff via vanilla's packet system. Also fix the Bio generator processing stuff on both the client and the server instead of just the server
1e3592b - Finish converting ITileComponents over to properly syncing their data
7c0f0cd - Fix transmitters not checking bounds prior to placement, fix PRC GUI title
17019a8 - Cleanup some code pertaining to inventory ejecting, ensuring we grab items based on what can be extracted rather than what is directly in the slot. #5938
fc5e007 - Fix improper internal insertion restrictions for rotary condensentrator tanks #5940
3ffb6c8 - Fixes pressurized tubes and mechanical pipes not being able to connect to quantum entangloporters #5950
381eadd - Fix Fluidic Plenisher GUI, and fix tank insert/extract checks for the electric pump #5951
8b990a4 - Fix pump & plenisher GUI scaling
7d41e3f - Reinstate active state update delay (#5848), clean up active state mess A bunch of machines were making particle effects when they shouldn't have been, QE should not have an active state to begin with
fb878c0 - Split onUpdate into two methods, onUpdateClient and onUpdateServer, to make the code more readable about what is happening on what side, and to note require as much indentation due to isRemote checks
e6ac88d - Cleanup implementation/handling around isCapabilityDisabled, to only have to check it once rather than at each level of super, and to make it so manually calling it can be forgotten about.
6371faa - Fix a potential issue with active state changes
1951d1a - Update machine lighting on world load
4c88139 - Work on moving transmitters to syncing their initial data via vanilla's update packet
4f5822e - Work on moving the security desk to using vanilla's update packet and our container sync system. We still need to properly move over syncing the trusted players list
e25085c - Create system for syncing lists as elements in containers
1fc912d - Move evap controller and resistive heater over to vanilla update packets
9527146 - Create a way to sync filter lists for containers - Cleanup some code pertaining to filters - Compare hashcode of list to check if it is dirty rather than comparing all the elements - Make HashList implement the List spec - Fixed error in loading frequencies
0294ecf - Move fluid tank syncing to vanilla packet system, and cleanup implementation of lasers and move that stuff over to the new method of handling sync data
757ed70 - Switch induction matrix over to using vanilla sync packets and the container sync system
723c950 - Convert dynamic tank, and internal multiblocks to using vanilla update packets, and our container sync system. Also fix an NBT clash that accidentally introduced
f0dea9f - Fix sparkling effect playing continuously
c342a13 - Continue work on converting multiblock packet handling. Also start working on attempting to fix some of the packet spam that multiblocks have
437f2fa - Only sync fluid changes for rendering for the fluid tank, boiler water tank, and dynamic tank when the scale changes, rather than on every mb of difference. Also move the scale calculation to a util method to ensure that we render at least something if there is any contents
7ebe623 - Use our own sync packet to avoid chunk rendering thrashing
9bedc8b - Add support for showing how much time our TERs are taking in the debug pie chart for block entities
324382d - Convert reactor over to using the new sync system, and fix the normal laser always firing the max amount of power even when it didn't have that much power stored
c27ebf3 - Move syncing of formula to our container sync system, and fix a few different issues with rendering of specific gui pieces
4c490e2 - Switch steam tanks for the turbine, reactor, and boiler to be gas tanks and use the gas variant of steam, rather than fluid tanks using "liquid steam" - Add in scale target for the steam rendering of the turbine and boiler so that we don't have to send an update packet every time the stored amount changes by a single mb - Fixed reactor active state - Fix reactor not actually using any inputs
eb2d176 - Remove specific implementation of a few interfaces when the super class already implements them
7facb95 - Only sync different gui information for multiblocks when the correct tab is being displayed
361fbf9 - Always send the structure if the multiblock tile is rendering. It is a relatively small amount of extra data, removes the need for the client to send a data request, and we have also reduced a lot of multiblock packet spam already
f79b42c - Remove no longer used baseBlock from Model3D, and improve the logic used for picking the direction to render the teleporter's portal in. No longer should have an edge case that causes it to sometimes render in the wrong direction
382dc22 - Fix attempting to send packet initially on every block placement, and fix a few packets being sent before the data to send is set
1736513 - Update dev version of forge + mappings, and switch back to the latest FG3, now that the fixes needed have been merged
7e21519 - Fix a few bugs with the robit's repair screen #5964
4799260 - Various improvements to text boxes in GUIs, and makes sure the text persists even if minecraft's window is resized
4666b85 - Make less classes implement ITileNetwork, and fix sound for stepping on and off of chargepads
efa7f88 - Move teleporter and quantum entangloporter syncing over to using the container sync system
0e70296 - Fix a few minor issues with the reactor and its formed state
83b4fff - Move registering our transmitter model loader even earlier. Should hopefully prevent #5881 and #5963
349ff4c - Remove a couple cases we set the glow, as it did not seem to change anything, and move the configurable machine overlay to using the block highlight event to reduce the amount of calculations that have to happen if you have a lot of machines and are holding a configurator to ray trace and see if you are hovering that machine
1c13d44 - Improve performance of rendering various TERs by batching calls made to the same render type at least within an individual TERs
a66793a - Improve and fix a few bugs in the flame renderer
6dcef43 - Improve accuracy of getRenderBoundingBox so that tiles can be properly culled when they are not in view, and add a full block render bounding box to transmitters so that they can render their contents even when they are barely on screen - Improve rendering logic of turbine rotors when not inside a formed turbine - Fixed turbine rotors sending update packets before the client has a tile for that position
e940835 - Improve the render bounding boxes for multiblocks and the digital miner
0b36c7a - Further cleanup of NBTConstants, and fix model loader causing issues in runData
79b67de - Fix actually moving remaining items instead of just simulating the move, and thus duping the remaining items #5966
aea149f - Do some basic cleanup to RenderResizableCuboid and remove a bunch of unused code
bf6119d - Bump version to 9.9.16
321afd4 - only copy a single item to dummy inv in Formulaic Assemblicator
378592d - tidy the item metas in the javadoc
75ed072 - fix issues with the change-factory-type slot. Closes #5675 - Container Slot will only accept valid items - Factory item inputs explicitly rejected - More efficient recipe type getter (should fix nbt related fails) - Output slot changed to an output
5585cf4 - pipes/cables/tubes: Don't send neighbour updates out when we should only need to ensure we get saved. RevertMe if chunk boundaries break again. Closes #5673
0efb9cd - wind generator item: only update angle once per render tick. Closes #5670
3ea9cb0 - Update de_de.lang (#5656)
f014479 - update ja_jp.lang line 336: unify translation into BuildCraft line 999: make more like to original pronounce("Hohlraum" is a borrowed term from German.)
15d25ed - Update ko_kr.lang
6abe348 - enable empty outputs for PRC recipes via CT. Closes #5598
bfb3b93 - add explicit dump button to infusion factories. Closes #5630
81ef5fb - Bump version to 9.8.3
fdaaabb - Update gradle to 4.8.1
cb72dc7 - Update dependencies
cbd82f9 - Fix warnings for build.gradle
403cdaa - Reconnect pipes across chunks when the chunk loads. Fixes #5583 (#5584)
d9b58b5 - Code cleanup (#5582)
efbcdca - Fix unused enableFog GL call. Fixes #5579 compatibility with BetterFPS' Fast fog mode
31f3277 - A small deduplication of the OreDictManager (#5577)
bebcee0 - Move all references to energy conversion ratios to their own class rather than duplicating the logic across multiple classes
ba41475 - Partial fix for #5576. Stopped it from overflowing though at some point the EnergyNetwork should still be updated to having capacity be a double.
4fbd1d8 - Fix lang keys for dumping excess and dumping being backwards #5594
9ccdaa3 - Fix being able to break nether portals by hand #5590
50d15fb - The server has to be the side that tells the client to open the gui, fixes #5593
f887183 - Fix potential null pointer when using the result of TransporterStack#getSide
c2910fc - Fixes Oredictionificator Filter not initializing properly. #5597
9c76c68 - Fix using wrong side for getting capability
0f5ef4e - Make EnergyNetwork capacity be a double (#5589)
034340e - Cleanup Tools Module code (#5578)
8082d64 - Bump version to 9.8.1