Hyxin
Brings the Mixin trait/mixin framework for Java to Hytale!
About Hyxin
Hyxin provides a Mixin environment for the game Hytale. It enables developers to modify, extend, and inject behavior into Hytale's codebase without directly modifying game files.
Features
Mixin is a trait/mixin framework for Java that allows plugin developers to modify the game code without directly patching or modifying your game files. This is a very powerful tool for developers, allowing them to add hooks, modify game logic, and empowers them to do things they would not be otherwise able to do.
Hyxin provides both FabricMC's Mixin Fork and LlamaLad7's MixinExtras. Developers should be able to use the majority of the features added by both projects, however not everything is production ready yet.
Early Access Warning
The game Hytale is in early access. Things are unstable, and prone to frequent changes. Things may not work, or may work in unexpected or suboptimal ways. Please bear with us as we work to address the issues.
Known Issues & Caveats
Mixin configs can only be loaded from earlyplugins. We only scan the earlyplugins folder in the working directory for Hyxin configs. Additional paths can be added using run arguments, but we can not scan them yet. When developing Hyxin itself, files are loaded from the AppClassLoader instead of the expected early plugins URLClassLoader. Accessors, invokers, interface injection, and similar features are not production ready. The DisabledByDefault option, along with the disabled plugins feature is not supported. Installing Hyxin
The Hyxin jar and all plugins that use Hyxin must go in your earlyplugins folder. You will need to create the folder, they do not create it for you yet. On a server, you will make the folder right next to the plugins and logs folders. In singleplayer your plugin must go inside of your world, in the worlds earlyplugins folder.
Developing with Hyxin
The Hyxin project is not aailable on Maven central yet. You can add it to your Gradle dependencies manually, or use Cursemaven.
Add a Hyxin config to the standard plugin manifest.json file. The Configs array defines a list of Mixin configuration files that Hyxin will try to load from your plugin jar.
{ "Group": "...", "Name": "...", "Version": "...", "Description": "...", "Hyxin": { "Configs": [ "your_plugin.mixins.json" ] } } Inside the your_plugin.mixins.json file you should set the root package name that Mixin classes are loaded from, and then fill the mixins array witht he name of each class you want to load.
{ "required": true, "minVersion": "0.8", "package": "com.example.mixins", "mixins": [ "ExampleMixin" ] } Then define your mixin class at the expected location, in this case it is src/main/com/example/mixins/ExampleMixin.java. In this example, we are injecting our onMain method immediately before EarlyPluginLoaders#hasTransformers is invoked in the constructor of HytaleServer.
@Mixin(HytaleServer.class) public class ExampleMixin { @Inject(method = "<init>", at = @At(value = "INVOKE", target = "Lcom/hypixel/hytale/plugin/early/EarlyPluginLoader;hasTransformers()Z")) private static void onMain(CallbackInfo ci) { HytaleLogger.get("Hyxin-Example").at(Level.INFO).log("Hello from Hyxin! The server has been patched!"); } } Credits & Acknowledgements
The Hyxin project is developed and maintained by Darkhax and Jaredlll08. The Hyxin project is built upon Mixin. Special thanks to Mumfrey in particular, who has poured countless hours of time into maintaining the project.
Mixin - MIT License FabricMC Mixin - MIT License LlamaLad7's MixinExtras - MIT License Google's Guava - Apache 2.0 License OW2 ASM - 3-Clause BSD License Caro Asercion's Blender Icon - CC BY 3.0 We are very appreciative of all the prior works that have made this project possible. All trademarks, copyrights, and ownership remain with their original authors. The inclusion of these libraries does not imply endorsement of this project by their creators or affiliated organizations.
Categories
Frequently Asked Questions
What is Hyxin?
Brings the Mixin trait/mixin framework for Java to Hytale!
How do I download Hyxin?
You can download Hyxin for free from CurseForge. Click the "Download on CurseForge" button on this page to go directly to the download page.
Who created Hyxin?
Hyxin was created by DarkhaxDev. The mod has been downloaded 11.1K times.
Is Hyxin compatible with Hytale servers?
Hyxin is designed for Hytale and can be used on both single-player and multiplayer servers. Check the mod page on CurseForge for specific compatibility information.
How do I install Hyxin?
To install Hyxin: 1) Download the mod from CurseForge, 2) Place the file in your Hytale mods folder, 3) Restart the game. The mod should load automatically.
Related Gameplay Mods
View all modsWan's Wonder Weapons
WanMine
A collection of unique weapons for Hytale, new "relics" blending elemental power, dark magic, and a touch of absurdity!
Perfect Parries
narwhals
Adds a souls-like/RPG combat mechanic where if you block at the instant where you are supposed to take damage, you don't lose stamina, deflect some damage, and stun the attacker. This mod includes a stamina system similar to that of souls/RPG games.
Spellbook
DarkhaxDev
Powering your favorite mods with clean, reusable helpers and utilities.
RPG Leveling And Stats/Skills
Zuxaw_dev
An RPG leveling plugin for Hytale that adds experience points, leveling, stat allocation, and character progression with a GUI, HUD, competitive leaderboard system, and full multi-language translation support.
Lucky Mining
Buuz135
Get more ores from mining, the more you mine in a row, the more ores you get.
MMO Skill Tree
ziggfreed
(Multiple Languages) MMO Skill Tree adds an RPG-style progression system where every action you take helps you grow stronger.