Comments (6)
You can use Mixin in any application where you control the class loading, for example your own projects or by "wrapping" an existing application. This is possible because Mixin uses LaunchWrapper and other than the "default" support for Minecraft, LaunchWrapper is basically an environment-agnostic extensible ClassLoader system.
So yes, other than LaunchWrapper, you can use Mixin without any of the other components like FML or whatever.
For obvious reasons you cannot use Mixin with Java EE applications, and obviously using it in a Bukkit plugin is completely impossible. But for standard applications all you need to do is write a Tweaker to plug in to LaunchWrapper and bootstrap your application using Launch.
from mixin.
How would one initialize Mixins in a standalone project? Would you need to use LegacyWrapper if you weren't using Minecraft?
from mixin.
Yep, but as I said, LaunchWrapper is entirely application-agnostic and is open source as well, so it's pretty straightforward to use.
from mixin.
Would I need to make a new Tweaker & TweakerInjector for my application?
from mixin.
https://github.com/thog/universalat
which works on bukkit.
from mixin.
Would I need to make a new Tweaker & TweakerInjector for my application?
Just a tweaker is sufficient, the contract of tweakers is pretty straightforward and you can read any of the many examples which are floating around.
https://github.com/thog/universalat
which works on bukkit.
Yes but not as a plugin, so that's a stupid example. As I said above, "You can use Mixin in any application where you control the class loading" and this is true of most applications, if you wrap the application then you can do mostly whatever you want. I mean, that's the entire point of LaunchWrapper in the first place!
There are ways around this limitation but they're hacky and far from straightforward.
from mixin.
Related Issues (20)
- `Accessor` and `Invoker` Mixins delete methods with the same name in the target class
- java.lang.NoClassDefFoundError: org/spongepowered/asm/synthetic/args/Args$1 HOT 1
- [Feature Request] Inject goto instructuion
- [Forge][Build error] Using class from custom lib in Mixin class throw Exception
- `MappingWriterTSrg` is named incorrectly
- Thread: Render thread Suspected Mod: Patchouli (patchouli), Version: 1.20.1-83-FORGE HOT 1
- Allow `@ModifyVariable` to capture locals HOT 1
- Mixins Not Being Read, Force Disabling Them. Game Crashes. HOT 1
- Trying to add another 'case' value to a 'switch' statement
- injection failed HOT 1
- INVOKE_ASSIGN gets stopped by CHECKCASTs HOT 2
- Wiki Subsection Titles
- [Forge] Stack Overflow when a invoked method is called HOT 1
- Support ModLauncher loaded as JPMS Module / Classes-Folder
- Initializer merging behavior seems to have changed in 0.8.6 snapshots HOT 1
- Constructor redirect incorrectly handles nested constructor invocations
- Redirect can not find its target. HOT 4
- Inability to get all classes targetted by mixin HOT 6
- Modpack Server Crash HOT 1
- When you log in it shows this HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mixin.