CrossbowSaveArrow
Each crossbow keeps its own loaded arrows. Switch weapons, move the crossbow to another slot or a chest, drop it, or give it to another player: its saved ammo stays with the item.
Installation
Version 0.0.9 requires MixinTale 3.0.0 or later. Hyxin is no longer needed by CrossbowSaveArrow. Installing CrossbowSaveArrow alone is not enough: you must also install the MixinTale bootstrap.
Single player — Windows
- Close Hytale completely. If upgrading from 0.0.8, follow the upgrade steps below before continuing.
- Download
MixinTale-Bootstrap-3.0.0.jarfrom MixinTale on CurseForge. Choose the Bootstrap download, not Developer Tools. DownloadCrossbowSaveArrow-0.0.9.jarfrom CrossbowSaveArrow on CurseForge. Keep both files as.jarfiles; do not unzip them. - Open File Explorer. Paste
%AppData%\Hytale\UserDatainto its address bar and press Enter.%AppData%normally expands toC:\Users\<your Windows username>\AppData\Roaming. If your launcher uses a custom install folder, find that installation'sUserDatafolder instead. For example, an installation inD:\Hytalemay useD:\Hytale\UserData. Use that sameUserDatafolder for all the following steps. - Inside
UserData, openEarlyPlugins. Create the folder if it does not exist. PutMixinTale-Bootstrap-3.0.0.jardirectly inside it. Default full destination:%AppData%\Hytale\UserData\EarlyPlugins\MixinTale-Bootstrap-3.0.0.jar. - Go back to
UserData, then openMods. Create the folder if it does not exist. PutCrossbowSaveArrow-0.0.9.jardirectly inside it. Default full destination:%AppData%\Hytale\UserData\Mods\CrossbowSaveArrow-0.0.9.jar. You can also install CrossbowSaveArrow through the CurseForge app or the in-game mod browser, but the manual MixinTale step above is still required. - Check the two files are in different folders: MixinTale must NOT go into
Mods; CrossbowSaveArrow must NOT go intoEarlyPlugins. Do not put either JAR inside an extra subfolder. - Start Hytale. Before entering your world, open that world's settings and its
Modstab. UnderGlobal Mods, enableCrossbowSaveArrowfor that world, then apply/save the change. Copying the JAR is not enough. Repeat this for each world where you want the mod. - Enter the world and check the log as described below. Then load a crossbow, let the reload finish, switch to another weapon, and switch back. The crossbow should keep its loaded arrows.
Dedicated server
- Stop the server. Download the same two JAR files listed above.
- In the server's root folder, create
earlypluginsif it does not exist. PutMixinTale-Bootstrap-3.0.0.jardirectly in<ServerRoot>/earlyplugins/. - In the same server root, create
modsif it does not exist. PutCrossbowSaveArrow-0.0.9.jardirectly in<ServerRoot>/mods/. MixinTale must NOT go intomods; CrossbowSaveArrow must NOT go intoearlyplugins. - Add
--accept-early-pluginsto the server launch arguments, then start the server. Check the startup log for the lines below.
On Linux, folder names are case-sensitive. For a dedicated server, use lowercase earlyplugins and mods exactly; EarlyPlugins and Mods are different folders.
Check that it loaded
After entering the world, open %AppData%\Hytale\UserData\Logs. With a custom install, open UserData\Logs under that installation instead, for example D:\Hytale\UserData\Logs. Open the newest log from this launch in a text editor and search for these messages. If there are several logs for the launch, check the server log too. On a dedicated server, check its console/startup log.
[MixinTale/INFO] MixinTale 3.0.0 ready— the line continues with patch counts. A newer MixinTale will show its own version.[CrossbowSaveArrow] Loaded! Each crossbow keeps its own loaded ammo.
Both messages should be present. The MixinTale message alone does not show that CrossbowSaveArrow loaded. [CrossbowSaveArrow] StatModifiersManager is not patched means the patch did not apply; check the MixinTale log messages and the checklist below.
Not working?
- Wrong folder? Check the launcher's actual
UserDatafolder, especially if you have more than one installation. MixinTale belongs inEarlyPlugins; CrossbowSaveArrow belongs inMods. - MixinTale missing? You need the Bootstrap JAR, not just CrossbowSaveArrow or the Developer Tools ZIP. Restart Hytale completely after installing it.
- Old Hyxin-based CrossbowSaveArrow still installed? Remove the old CrossbowSaveArrow JAR from the global or world-specific
earlypluginsfolders as described below. Keep only one CrossbowSaveArrow version. Hyxin itself is only needed if another mod still requires it. - Mod disabled for this world? Open the world's
Modstab and enableCrossbowSaveArrowunderGlobal Mods. - Linux server? Check the lowercase folder names
earlypluginsandmods, and the--accept-early-pluginslaunch argument.
Upgrading from 0.0.8
- Close the game or stop the server.
- Remove the old
CrossbowSaveArrow-0.0.8.jarfrom the early-plugin folders where you installed it. Check%AppData%\Hytale\UserData\EarlyPluginsand%AppData%\Hytale\UserData\Saves\<World>\earlypluginsfor each affected world, or<ServerRoot>/earlypluginson a dedicated server. Substitute your actualUserDatapath if the launcher uses a custom folder. Remove any other older CrossbowSaveArrow JAR copies too. - Remove the Hyxin JAR only if no other mod needs it. CrossbowSaveArrow 0.0.9 uses MixinTale instead.
- Install the two new JARs in their separate folders using the steps above, then enable CrossbowSaveArrow for your world.
Earlier instructions and comments that put CrossbowSaveArrow in earlyplugins apply to 0.0.8 and older.
What changed in 0.0.9
Fast mouse-wheel scrolling past a loaded crossbow could pull the selected hotbar slot back to it and make the ammo counter jump. This was a bug in the mod: the client and server disagreed about the crossbow's swap-away action. Version 0.0.9 replaces that action with the normal weapon swap. It does not add a switching delay.
Death and respawn no longer reset the ammo in the crossbow you are holding. Switching away does not refund arrows to your inventory; they stay loaded in the crossbow instead.
Interrupting a reload still loses the arrow being loaded, just like vanilla. Finish shooting or reloading before moving or handing over the crossbow: moving it at the exact moment its ammo changes can still transfer an outdated ammo count.
Compatibility
- Hytale 0.6.x; built against Server 0.6.8.
- Vanilla crossbows and modded crossbows with an Ammo stat bonus and reload on Ability3. Detection does not depend on the item's name.
- More & Better Crossbows inherit the vanilla crossbow template and should work with this detection. This is based on their asset definitions, not a completed in-game compatibility test.
- Compatible with UltimateSaver. Other mods that change crossbow ammo or swap actions may conflict.
Source and license
By Morgott. Source and issue tracker. License: CC BY-NC 4.0. Patching framework: MixinTale by Traktool.