-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert from ASM to Mixins #2192
Conversation
Note on the NC Mixin/ASM: We implemented a proper fix in Nomi-Labs. Might want to pull that in to GT. (Made with help from @YoungOnionMC) Hope this helps! |
4bf9691
to
fe41e65
Compare
562cd92
to
55986cd
Compare
5ef927f
to
accb431
Compare
342ac19
to
c978e00
Compare
49f6bb0
to
1e92e75
Compare
c90fed2
to
3d8dd96
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
found some issues with RecipeRepairItemMixin
:
- gregtechCEu$matches applies, but passes in the same parameter twice
- gregtechCEu$getCraftingResultFirst fails to apply
- gregtechCEu$getCraftingResultSecond fails to apply
- gregtechCEu$getRemainingItemsInject fails to apply
these mixins seem to apply properly:
JEITooltipMixin
LayerCustomHeadMixin
LayerArmorBaseMixin
RegionRenderCacheBuilderMixin
RenderChunkMixin
EntityRendererMixin
AbstractCTMBakedModelMixin
CCLDescriptionMixin
RenderItemMixin
DamageSourceMixin
TheOneProbeMixin
MinecraftMixin
ModelLoaderRegistryMixin
the other mixins that weren't mentioned i haven't tested yet
src/main/java/gregtech/mixins/minecraft/RecipeRepairItemMixin.java
Outdated
Show resolved
Hide resolved
src/main/java/gregtech/mixins/minecraft/RecipeRepairItemMixin.java
Outdated
Show resolved
Hide resolved
src/main/java/gregtech/mixins/minecraft/RecipeRepairItemMixin.java
Outdated
Show resolved
Hide resolved
src/main/java/gregtech/mixins/minecraft/RecipeRepairItemMixin.java
Outdated
Show resolved
Hide resolved
5bc8d39
to
9698063
Compare
9fc9989
to
1702eb8
Compare
bd314d5
to
ed7772e
Compare
apply spotless
02b880a
to
fd0ca7e
Compare
* Remove NuclearCraft ASM (GregTechCEu#2467) * Update zh_cn.lang (GregTechCEu#2445) * Allow polarizing block -> magnetic block (GregTechCEu#2469) * Fusion bloom fix & other bloom effect API modifications (GregTechCEu#2470) * Inital Vintagium Support (GregTechCEu#2463) * Fix Ore Dict Ingredients When Changing OreDicts with CT & GS (GregTechCEu#2456) * Fix the large turbine rotor texture (GregTechCEu#2485) * Small QoL Bee Update (GregTechCEu#2458) * Fix excessive packets & re-renders with AEHostable parts (GregTechCEu#2487) * Allow dynamic hatch placement on Distillation Tower (GregTechCEu#2477) * Add a faster recipe for drilling fluid with distilled water (GregTechCEu#2484) * Fix input busses saying "Item Auto-Output Enabled" instead of "Item Auto-Input Enabled" (GregTechCEu#2489) * fix pyrolyse speed (GregTechCEu#2449) * Brute-force Fix of RAM Usage Problem When Using Alfheim (GregTechCEu#2475) * Clean up AEHostable part fix (GregTechCEu#2488) * Various Cleanroom Improvements (GregTechCEu#2480) * Updating bees using the new Mutation Condition (GregTechCEu#2486) * Allow MTEs / recipe map workables to directly control their JEI categories (GregTechCEu#2479) * Rounds energy displayed by TOP (GregTechCEu#1063) * dependency updates * Allow recipe logic to set EU/t and speed discounts (GregTechCEu#2496) * Convert from ASM to Mixins (GregTechCEu#2192) * Glass tube recycling (GregTechCEu#2509) * Improve assembly line laser render (GregTechCEu#2495) * Dynamically change the direction of the arrow in "Manual IO Mode" to reflect the direction of the "IO Mode" (GregTechCEu#2491) * Support Creative Mode Pick Block (GregTechCEu#2428) * Add Polybenzimidazole Block Conversion Recipes (GregTechCEu#2511) * GroovyScript 1.1.0 (GregTechCEu#2506) * Update build script version to 1720106721 (GregTechCEu#2503) * workaround GHA bug for tests workflow * Fix liquid and gas registry key functions overlapping (GregTechCEu#2514) * Namespaced MTE Registries (GregTechCEu#2505) * Split assembler and circuit assembler textures (GregTechCEu#2388) * bump GHA versions (GregTechCEu#2516) * Fix failing builds due to Vintagium (GregTechCEu#2519) * Fix Mixin Warnings About `maxShiftBy` (GregTechCEu#2520)
* Remove NuclearCraft ASM (GregTechCEu#2467) * Update zh_cn.lang (GregTechCEu#2445) * Allow polarizing block -> magnetic block (GregTechCEu#2469) * Fusion bloom fix & other bloom effect API modifications (GregTechCEu#2470) * Inital Vintagium Support (GregTechCEu#2463) Co-authored-by: kumquat-ir <[email protected]> * Fix Ore Dict Ingredients When Changing OreDicts with CT & GS (GregTechCEu#2456) * Fix the large turbine rotor texture (GregTechCEu#2485) * Small QoL Bee Update (GregTechCEu#2458) * Fix excessive packets & re-renders with AEHostable parts (GregTechCEu#2487) * Allow dynamic hatch placement on Distillation Tower (GregTechCEu#2477) * Add a faster recipe for drilling fluid with distilled water (GregTechCEu#2484) * Fix input busses saying "Item Auto-Output Enabled" instead of "Item Auto-Input Enabled" (GregTechCEu#2489) * fix pyrolyse speed (GregTechCEu#2449) * Brute-force Fix of RAM Usage Problem When Using Alfheim (GregTechCEu#2475) * Clean up AEHostable part fix (GregTechCEu#2488) * Various Cleanroom Improvements (GregTechCEu#2480) * Updating bees using the new Mutation Condition (GregTechCEu#2486) * Allow MTEs / recipe map workables to directly control their JEI categories (GregTechCEu#2479) * Rounds energy displayed by TOP (GregTechCEu#1063) Co-authored-by: bruberu <[email protected]> * dependency updates * Allow recipe logic to set EU/t and speed discounts (GregTechCEu#2496) * Convert from ASM to Mixins (GregTechCEu#2192) Co-authored-by: serenibyss <[email protected]> Co-authored-by: Ghzdude <[email protected]> * Glass tube recycling (GregTechCEu#2509) * Improve assembly line laser render (GregTechCEu#2495) * Dynamically change the direction of the arrow in "Manual IO Mode" to reflect the direction of the "IO Mode" (GregTechCEu#2491) * Support Creative Mode Pick Block (GregTechCEu#2428) * Add Polybenzimidazole Block Conversion Recipes (GregTechCEu#2511) * GroovyScript 1.1.0 (GregTechCEu#2506) * Update build script version to 1720106721 (GregTechCEu#2503) Co-authored-by: ALongStringOfNumbers <[email protected]> * workaround GHA bug for tests workflow * Fix liquid and gas registry key functions overlapping (GregTechCEu#2514) Co-authored-by: TechLord22 <[email protected]> * Namespaced MTE Registries (GregTechCEu#2505) * Split assembler and circuit assembler textures (GregTechCEu#2388) * bump GHA versions (GregTechCEu#2516) * Fix failing builds due to Vintagium (GregTechCEu#2519) * Fix Mixin Warnings About `maxShiftBy` (GregTechCEu#2520) * fix invalid actions files * Improvement to DT hatch logic (GregTechCEu#2524) * Update ru_RU lang for 2.8.9 (GregTechCEu#2523) Co-authored-by: Weblate <[email protected]> Co-authored-by: Western01 <[email protected]> * Update Gradle and related files (GregTechCEu#2522) Co-authored-by: TechLord22 <[email protected]> * Fix the lighter behaviour (GregTechCEu#2526) * Fix EUt usage of HPCA with custom higher tier Components (GregTechCEu#2512) * bump GRS and CT versions in gradle (GregTechCEu#2528) * Fix Miner Pipe Deleting TileEntities (GregTechCEu#2529) * Make drums no longer require a Material (GregTechCEu#2527) * fix crash with Forestry integration (GregTechCEu#2531) * fix MTE data fixer registry conflicts (GregTechCEu#2515) * Adjust EV coil recipe & texture (GregTechCEu#2518) * Add Overload to `where()` in FactoryBlockPattern (GregTechCEu#2538) * Update to MUI 2.5.0-RC1 (GregTechCEu#2544) * fix most gases using the wrong translation key (GregTechCEu#2545) * Sub-tick OC and long EUt in recipe logic (GregTechCEu#2432) * MTE registries datafixer for BQu (GregTechCEu#2547) * Titanium Tweaks (GregTechCEu#2366) Co-authored-by: TechLord22 <[email protected]> * SimpleMachineMetaTileEntity makes it easy to change the logo (GregTechCEu#2289) Co-authored-by: tier940 <[email protected]> * Fix Spray Can offhand tooltip applying to Solvent (GregTechCEu#2546) * Add addElement() to material event class (GregTechCEu#2560) * Fix Output Bus not Notifying in Certain Conditions (GregTechCEu#2558) * Override getItem in BlockMachine.class (GregTechCEu#2555) * Improve material element api (GregTechCEu#2561) * fission: natural uranium and plutonium (GregTechCEu#2562) * Update zh_cn.lang (GregTechCEu#2552) * Fix PA & Cleanroom Sync Issues (GregTechCEu#2566) * Fix the no distinct buses button (GregTechCEu#2577) * fission: hafnium and zirconium (GregTechCEu#2563) * remove usages of NonNullList (GregTechCEu#2581) * Add Missing Side Only Annotations (GregTechCEu#2579) * Fix Legacy Filter NBT Reading (GregTechCEu#2570) * Update build script version to 1723428048 (GregTechCEu#2532) Co-authored-by: TechLord22 <[email protected]> Co-authored-by: alongstringofnumbers <[email protected]> * Fission Reactor's ShapeInfo support for Relative Directions (GregTechCEu#2576) * Fix incorrect pipe material (GregTechCEu#2589) * fix duplicate assembly line research entries (GregTechCEu#2584) * Give MTEs a owner on placement (GregTechCEu#2540) * Add OCing past MAX and fix multi Laser and Substation Hatch support (GregTechCEu#2611) * unbind framebuffer object after use in renderFullImageInFBO (GregTechCEu#2614) * Fix MTE Initial Sync sending the wrong data (GregTechCEu#2587) * Fix Issues with Filter Label and MTE Owner Overloads (GregTechCEu#2613) * Remove mui0 null returns (GregTechCEu#2621) * Make Ender Cover and Virtual Registry Abstract (GregTechCEu#2510) * Update ru_ru.lang and Initial Ukranian langluage (GregTechCEu#2602) Co-authored-by: Western01 <[email protected]> Co-authored-by: German Khris <[email protected]> * Update zh_cn.lang (GregTechCEu#2593) * Add a config option for the magnet's attraction delay (GregTechCEu#2616) * Attempt to fix tools from addon materials (GregTechCEu#2585) * Port the GT5u ME hatch wirecutter behavior (GregTechCEu#2618) * clean up recipe property storage (GregTechCEu#2607) * fix recipes having null cleanrooms (GregTechCEu#2625) * tierByVoltage optimizations (GregTechCEu#2617) Co-authored-by: M-W-K <[email protected]> Co-authored-by: kross <[email protected]> * move MAX+ tiers into VOCN and VOCNF arrays (GregTechCEu#2615) * fix tierByVoltage MAX tier off by one (GregTechCEu#2626) * Fix hover texture not being applied to button theme (GregTechCEu#2623) * Update PropertyContainer.java (GregTechCEu#2627) * restored neodymium physical properties --------- Co-authored-by: froot <[email protected]> Co-authored-by: iouter <[email protected]> Co-authored-by: ALongStringOfNumbers <[email protected]> Co-authored-by: Tictim <[email protected]> Co-authored-by: htmlcsjs <[email protected]> Co-authored-by: Integer Limit <[email protected]> Co-authored-by: M_W_K <[email protected]> Co-authored-by: Rundas <[email protected]> Co-authored-by: Zorbatron <[email protected]> Co-authored-by: TechLord22 <[email protected]> Co-authored-by: Tian mi <[email protected]> Co-authored-by: vrejhead <[email protected]> Co-authored-by: くぁーりぃ <[email protected]> Co-authored-by: bruberu <[email protected]> Co-authored-by: serenibyss <[email protected]> Co-authored-by: Ghzdude <[email protected]> Co-authored-by: brachy84 <[email protected]> Co-authored-by: ALongStringOfNumbers <[email protected]> Co-authored-by: marisathewitch <[email protected]> Co-authored-by: Weblate <[email protected]> Co-authored-by: Western01 <[email protected]> Co-authored-by: Brian <[email protected]> Co-authored-by: Phil <[email protected]> Co-authored-by: tier940 <[email protected]> Co-authored-by: tier940 <[email protected]> Co-authored-by: alongstringofnumbers <[email protected]> Co-authored-by: Envoidia <[email protected]> Co-authored-by: German Khris <[email protected]> Co-authored-by: kross <[email protected]> Co-authored-by: miozune <[email protected]> Co-authored-by: Bruce <[email protected]>
What
Converts our ASM in the project to Mixins, for ease of maintainability, and hopefully fixing up some compat.
Mixins and MixinExtras is being pulled from MixinBooter specifically.
A new Package has been created, that being
gregtech.mixins
and after all ASM has been converted to Mixins, I am planning on movingGregTechLoadingPlugin
into this package.Where applicable, I am just calling the existing
Hooks
class from the Mixin. Although this can be changed.For debugging purposes during this conversion, I have the gradle.properties option
enableCoreModDebug
set to true. This should definitely be set to false before merging. For those interested, this option outputs all transformed classes intorun/CLASSLOADER_TEMP
, and can be used to compare the code transformed by our ASM and by our Mixins. This does not currently work for inner classes.Potential Compatibility Issues
Should be no compat issues, if everything is working correctly