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