Just getting an Error, trying to run the file in javascript:
The system cannot find the path specified at java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(Unknown Source) at gomule.gui.FileManagerProperties.getFileManagerPropertiesFile(FileManagerProperties.java:21) at gomule.gui.FileManagerProperties.loadFileManagerProperties(FileManagerProperties.java:30) at gomule.gui.D2FileManager.checkProjects(D2FileManager.java:1102) at gomule.gui.D2FileManager.createMenubar(D2FileManager.java:888) at gomule.gui.D2FileManager.<init>(D2FileManager.java:126) at gomule.gui.D2FileManager.<clinit>(D2FileManager.java:71) at gomule.GoMule$1.run(GoMule.java:83) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Anyone have experience with making this work with the mod stackit? I get disconnected in GoMule with a stackit stackable rune or gem in the character inventory or shared stash.
I have the same problem. As soon as there is a stacked rune or gem in the shared stash, GoMule can't open it (disconnect error). Unstack them, it works fine. I'm using the stackable gems/runes mod, which is supposed to work with this version of GoMule, after all it's the same mod author for all three mods.
/shrug That's the scenario I tested with, and it worked for me. I don't really use GoMule myself though. Make sure you're opening it from the generated D2RMM.mpq folder, as otherwise, it won't have the modded game data available to it.
Hi, thanks for the reply and your great mods! I'm using GoMule from the D2RMM.mpq folder, I read that it is supposed to work, so i'm a bit confused as well...
Here's the error, maybe this is helpful Core problem seems to be this: gomule.util.D2ItemException: Error: No translation for s10 (null, null)
Full error java.lang.IllegalArgumentException: No translation for s10 at gomule.translations.Translations.getTranslation(Translations.java:11) at gomule.item.D2Item.readExtend(D2Item.java:310) at gomule.item.D2Item.read_item(D2Item.java:200) at gomule.item.D2Item.<init>(D2Item.java:163) at gomule.d2i.D2SharedStashReader.readSharedStashPane(D2SharedStashReader.java:40) at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:25) at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:16) at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1714) at gomule.gui.sharedStash.D2ViewSharedStash.connect(D2ViewSharedStash.java:81) at gomule.gui.sharedStash.D2ViewSharedStash.<init>(D2ViewSharedStash.java:34) at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1655) at gomule.gui.D2FileManager.handleSharedStash(D2FileManager.java:1631) at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1522) at gomule.gui.D2FileManager$28.actionPerformed(D2FileManager.java:981) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6386) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) gomule.util.D2ItemException: Error: No translation for s10 (null, null) at gomule.item.D2Item.<init>(D2Item.java:173) at gomule.d2i.D2SharedStashReader.readSharedStashPane(D2SharedStashReader.java:40) at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:25) at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:16) at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1714) at gomule.gui.sharedStash.D2ViewSharedStash.connect(D2ViewSharedStash.java:81) at gomule.gui.sharedStash.D2ViewSharedStash.<init>(D2ViewSharedStash.java:34) at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1655) at gomule.gui.D2FileManager.handleSharedStash(D2FileManager.java:1631) at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1522) at gomule.gui.D2FileManager$28.actionPerformed(D2FileManager.java:981) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6386) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Sounds like it's trying to figure out the label for item with item code "s10" and can't find it. That's the item code for the stackable variable of rune #10.
Do you see a "./translations/item-runes.json" file in GoMule's directory (in D2RMM.mpq)? If so, does it have an entry for "s10"?
Also, very important: is GoMule the *last* mod in your mod order (lowest position)? If there are any mods below it, it won't know about them.
HI, yes the file "./translations/item-runes.json" exists - but i can't find the entry for item code s10 (or any other of the s** stacked runes) in it. It's quite strange, because when i look in "./d2111/misc.txt" i can see the entries for the stacked runes. I made sure that GoMule is the last mod in the list, i guess if it weren't i wouldn't see the entries in misc.txt at all.
Okay, that's the problem then - item-runes.json being copied without the changes from the stackable runes mod. Can you run the "Install Mods" process with both of those mods enabled, and then send me the D2RMM.log file?
It seems to me that the stackable runes mod doesn't provide localization for the new s** item codes? At least i couldn't find it, if i understand the code correctly the mod just modifies the localization of the existing r** (unstacked runes) entries:
That's a good point. I wonder if d2rmm.mods/StackableRunes/mod.js at main was meant to modify item-runes.json instead of item-names.json? It's been so long I just don't remember.
I tried this an lo and behold, it works! The stacked runes show up in GoMule as normal runes, and the normal runes have strange names ("ÿc[runeName]"), but that's just cosmetics i guess. Functionality is there, that's the important thing!
It seems there might be a similar problem with the stackable gems mod. For some of the gems it works, but for others not. I get the following error gomule.util.D2ItemException: Error: No translation for zsg (null, null)
However, looking at the code it seems to me the runes fix is not so easily applicable to the gems mod.
Ah, looks like for gems, some of them are in item-names, and some are in item-nameaffixes. Weird. Anyway, can you try duplicating that whole block to modify both files?
Hey, I have the item Natalya's Shadow in one of my GoMule stashes. When I open this stash with the D2RMM version of GoMule, then I get the following error: Error: null (Natalya's Shadow, 0x9ae30dde) at gomule.item.D2Item.<init>(D2Item.java:173) at gomule.d2x.D2Stash.readItems(D2Stash.java:183) at gomule.d2x.D2Stash.readAtmaItems(D2Stash.java:151) at gomule.d2x.D2Stash.<init>(D2Stash.java:78) at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1701) If I open the same stash with the original GoMule everything works fine. The same happens with Natalya's Soul. As soon as I remove both items from the stash, the stash can be opened in the D2RMM version of GoMule again.
Hey, I'm facing the same issue with the stackable mods which was discussed one year ago. I'm using the GoMule mod via D2RMM. And I'm using the mods Stackable Gems and Stackable Runes. I can place stacked skulls and gems in the shared stash and GoMule works properly. If I add a non-stacked rune still everything is fine. But as soon as I add a stacked rune GoMule can't read the file for the shared stash anymore and runs into a disconnected error. Does anyone have a hint how to solve it other than removing the Stackable Runes mod which I will probably do if I can't find another solution.
Hello, so I had expanded inventory, expanded stash, expanded cube and mercequip installed. I then found out this mod that supposedly helps GoMule work with modded games (I imagine this includes the implementation of new items by mods and such). Now, here comes the first issue: in an attempt to play with GoMule to allow me to have a virtually infinite stash, manage mules better than just creating in-game characters, etc. I needed to uninstall all those mods. I play D2RMM with direct mode. So I re-extracted the vanilla files using Casc Viewer, installed the mods with D2RMM, copied and pasted the contents from inside mods/D2RMM/D2RMM.mpq/data/ to /Data/. But somehow, even tho I don't have them enabled in D2RMM, the extended stash is still there, the extended inventory too and the extended cube, all of them fully functional: stash 1, stash 2, inv 1, inv 2. Mercequip still shows the added slots, again even tho I don't have it enabled, the difference between it and the others is that those slots are not functional, I can't equip anything on them anymore: merc window. I've made sure to empty all the extra space by using mules so that I wouldn't lose any items that I didn't want to. The most important here too is that GoMule doesn't really work (I imagine it has to do with the issues mentioned above), it opens fine but it can't manage to load anything, no characters, no stashes, etc.
I figured I'd post this issue here because 1) iirc those mods that play with inventories, stashes, cube, etc. were also done by you, so I figured you could help explain how to properly uninstall them and 2) this might be helpful for someone in the future that also installed those mods and then wants to uninstall them in order to use GoMule.
Anyway, so that's about it, how can I fix my game's mods in order to run GoMule with the modded files? Thanks in advance for the attention!
I play D2RMM with direct mode. So I re-extracted the vanilla files using Casc Viewer, installed the mods with D2RMM copied and pasted the contents from inside mods/D2RMM/D2RMM.mpq/data/ to /Data/.
You can do all that, but D2RMM comes with native support for direct mode, just check the settings. It has an option for "uninstalling" mods in direct mode too (it basically re-extracts vanilla files from D2R for any files that mods want to use, but then doesn't let the mods modify them). With manual management of files that you're doing, you're going to have to debug it yourself - check the files that you're copying and note if they're overriding inventory files, etc...
even tho I don't have them enabled in D2RMM, the extended stash is still there
Then, however you're launching the game, it's using a modded installation. Perhaps you're still using "-mod D2RMM"?
You can do all that, but D2RMM comes with native support for direct mode, just check the settings. It has an option for "uninstalling" mods in direct mode too (it basically re-extracts vanilla files from D2R for any files that mods want to use, but then doesn't let the mods modify them). With manual management of files that you're doing, you're going to have to debug it yourself - check the files that you're copying and note if they're overriding inventory files, etc...
Initially I used just the D2RMM direct mode functionalities, but that didn't work, so in an attempt to see what I could be doing wrong I searched your replies to other people in all those mods' pages and this one's. I've found a comment from you telling someone else to re-extract the vanilla files, install the mods thru D2RMM, copy the contents inside D2RMM/D2RMM.mpq/data/ into /data/ again and try running. That's what I tried doing. It may have been an older comment so that might not be necessary anymore(?) I was just testing out options because things weren't working. Ignoring all that manual part, just now I uninstalled mods with D2RMM direct mode, installed them again and now I see this as my screen: inventory + stashmerc view. So it seems that inventory somehow got fixed but not merc nor stash
Then, however you're launching the game, it's using a modded installation. Perhaps you're still using "-mod D2RMM"?
I've been using only D2RMM as the launcher. I have in the Settings>Direct Mode>Enable Direct Mode selected and run the game by clicking in the Mods>RUN D2R button in the program's window. Presumably these are the launching options being used: D2RMM buttons
I've found a comment from you telling someone else to re-extract the vanilla files, install the mods thru D2RMM, copy the contents inside D2RMM/D2RMM.mpq/data/ into /data/ again and try running.
That was a comment helping somebody out before D2RMM had built-in direct mode functionality.
I have in the Settings>Direct Mode>Enable Direct Mode selected and run the game by clicking in the Mods>RUN D2R button in the program's window
Great. That's the correct setup. What you need to do now: 1. Enable all of the inventory / etc... mods (expanded inventory, expanded stash, merc equip). 2. Click "uninstall mods" in D2RMM. (D2RMM will revert the files that all the enabled mods would have modified back to their vanilla state in the /data/ directory.) 3. Disable all of the inventory / etc... mods. But keep your other mods (the ones you want to play with) enabled. 4. Click "install mods" in D2RMM. (D2RMM will install all the mods you actually want installed straight into the /data/ directory.) 5. Try playing.
Awesome, those instructions worked in-game. My inventory, stashes, cube and merc are all back to vanilla. Now, GoMule still seems unable to load my save files. It always disconnects either the characters I try to load or the stash files. Idk if it could be an issue with me setting it up or not, if I just don't know how to use GoMule or what else could be, I'm kinda lost here. Here is the window with both a mule character and the shared stash after loading those files: GoMule window. Again, thanks for the attention you've gave me so far. Do you have any ideas for how this could be fixed?
I imagine that means GoMule was unable to load some content in the save file, but I am not familiar with GoMule's code enough to say what/why.
Try creating a new character and opening that character in GoMule. Try giving that character some items. With some effort, you should be able to narrow down the problem.
(For the stash, you can do a similar process by transferring all your items to characters, then deleting the stash save file to get a new/clean one.)
Okay, I had found two days ago that the issue was possibly related to an item I made that was lacking a sprite (it was invisible in the invetory) because once I removed that item from the character's inventory then GoMule was able to load it. I fixed that but in doing so, somehow I broke the item's functionalities and corrupted my save file. That's no problem to me. But now that I have a completely new save (moved the corrupted files away into another directory), in which I played a character up to killing The Countess, I try to open the character with and without that specific item and GoMule is again unable to load it. Idk what could be it at this point because that character basically only has vanilla items in his inventory.
Discovered that if I run GoMule on a character that only has vanilla items and GoMule has the vanilla .txt files in its d2111 folder, then it can connect to the character even if it is a character in a mod. If I get a custom item from my shared stash tab with that item and place it in the same character's inventory then GoMule gives the same disconnect with the same error: Character disconnected at gomule.item.D2Item.<init>(D2Item.java:173) at gomule.d2s.D2Character.readItems(D2Character.java:525) at gomule.d2s.D2Character.readChar(D2Character.java:254) at gomule.d2s.D2Character.<init>(D2Character.java:137) at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1687) at gomule.gui.D2ViewChar.connect(D2ViewChar.java:447) at gomule.gui.D2ViewChar.<init>(D2ViewChar.java:426) at gomule.gui.D2FileManager.openChar(D2FileManager.java:1413) at gomule.gui.D2ViewProject$CharTreeNode.view(D2ViewProject.java:400) at gomule.gui.D2ViewProject$3.mouseReleased(D2ViewProject.java:126) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
But also (1) if I place the custom item back into shared stash tab (outside of character save file, unlike personal stash tab), in other words, only leave vanilla items in the inventory (starter vanilla items: 1 id scroll and 1 tp scroll); (2) and have the modded .txt files in the d2111 folder and the modded strings .json files in the translations folder (effectively manually setting up GoMule, instead of running the on from this wrapper). Then with both (1) and (2) it also isn't able to load characters (even with only the vanilla items). Despite the mods being fully functional. I'm going to guess that there is something wrong with just copying into those GoMule folders, the modded files because it seems unable to read them for some reason. I guess next test I'll do will be removing mods one by one and see if it works with a specific setup. Keeping the posting here for both my own recording and in case someone decides to help me
Got it working: apparently some of the legacy inventory files can screw GoMule up. Had a custom item using the legacy large charm .dc6 files and that was the issue, when trying to convert them to .pcx with dc6con and it was returning me an error saying the number of blocks was invalid. Changing from legacy large charm .dc6 files to one I could properly convert using dc6con (I used tome of town portal .dc6 files that actually didn't give errors in dc6con) fixed the issue with GoMule.
I think GoMule stores its preferences in "Diablo II Resurrected\mods\D2RMM\D2RMM.mpq\data\GoMule\projects\GoMule\project.properties". Easiest thing to do would be to customize your preferences, and then copy that file over to its corresponding location in the D2RMM mod's folder. You'd lose changes when updating the mod itself ((extracting a new version of it), but not when reinstalling mods from D2RMM.
Copy "<Diablo II Resurrected Game Folder>\mods\D2RMM\D2RMM.mpq\data\GoMule\projects\GoMule\project.properties" to "<D2RMM Folder>\mods\GoMule\GoMule\projects\GoMule\project.properties" (after setting your preferred preferences).
Quick question, will this work with mods that add sockets to non-standard items like gloves, belts, and boots? Also, what about mods that add more equipment slots for your merc?
It will not work for merc equipment slots (GoMule doesn't have the UI to show them). There have previously been forks of GoMule that had this functionality, so it is technically possible.
I am unsure about sockets on non-standard items. Give it a try!
Previously in D2LoD or in D2R ? In both cases can you mention where to find them please ?
I had a go at some changes in GoMule and so far I managed to get it to ignore the extra stashes and the items located in the extra stash tab space.
So far I find it quite hard to understand how the coordonates are determined for the D2LoD sprites used in GoMule. Plus I have zero skills to make non paint new sprites for the extended stash tabs, any tips on how to maybe extract them from the D2R Mod itself (Expanded Stash (16x13) for D2RMM) ? Is it even possible to use the D2R sprites in the current GoMule version ? Ofc I would still have to figure out how to redo the coordonates for each new tab if I figure out the sprites part.
Is there any way to convince you to make this change or provide some tips ? :D
LE: Turns out a good nights sleep was what I needed to clear my head a bit. I managed to get it working and it seems to be stable at first glance, no doubt I will probably find some bugs along the way.
ok, sorry to keep getting on here lol. i seem to have fixed the window duplicating issue.
but still currently stuck with "disconnected"
any help would be appreciated :)
uggh nevermind, damn windows bugging out again. idk whats going on. i used gomule with no issues in the past on d2r, and i cant find a solution in any of the forums, everythings related to 2.4 (which is last time i used it successfully on my laptop), nothing related to current
LMAO figured it out, it does not work with "stacking mods" i unstacked gems and runes and character loaded fine.
with go mule there really isnt a reason to stack now anyway sooo. hahha hope this helps someone else
GoMule uses D2 classic sprites instead of D2R sprites, so for stackable runes/gems mods, it will use the non-stackable image as that is what those mods specify should be used for rendering in D2 classic (they only ship with new sprites for D2R HD rendering).
GoMule for D2RMM should work with both Stackable Runes for D2RMM and Stackable Gems for D2RMM as long as: 1. It's installed alongside both mods (all 3 mods have to be enabled in D2RMM). 2. GoMule for D2RMM is placed lower in the mod order than the two other mods.
mod list #12 stackable gems #13 stackable Runes #14 Gomule
ive tested multiple character inventories and stash/shared stash.
if any of my runes or gems are in the stacked variant, even if there is only 1 in the stack, go mule will not load the character/shared stash.
if i "unstack" gem and or rune, go mule works with no issues.
this is the case if i open gomule from the d2r directory which this unpacks it to, and or if i used the original gomule download that i unpack in my own destination
Note that using GoMule from the official download should function as you described (not be able to open any save with a stackable rune/gem). The one in <D2R>/mods/D2RMM/D2RMM.mpq/GoMule/ should be fine though. It sounds like you're doing it right, so I'm unsure what's going wrong for you.
edit #2: ok so today i went to actually use the program. im having multiple issues.
the main issue is stash and character are "disconnected" when i load them. 2nd issue "i think this is more to do with java" but when i move my mouse around it will start popping up duplicate images of gomule, on my mouse cursor.... really weird.
but what is this mod actually doing? why is d2rmm installing it if i still have to go to folder and open go mule from there? isnt that the same as just downloading it from the gomule website and running it from wherever i extract it? to be clear im not trying to show any disrespect, im just trying to understand :)
1. If the character is disconnected, GoMule can't read the file. That means that either (1) the mod setup that was used to setup GoMule doesn't match the mod setup that was used when making that save file or (2) GoMule has a bug in how it uses the data this mod exports for it or (3) this mod has a bug with how it exports data for GoMule or (4) the mod was not installed correctly (e.g. not last in the mod order).
2. Any issues with the tool itself are not something I can help with. Please go to the main GoMule project to report them.
3. What this mod is doing is giving GoMule the modded game data for your mod installation so that GoMule can open your modded save files. You are totally free to use the official release of GoMule, but it will only work with vanilla save files (in terms of what's saved into the save file).
50 comments
The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at gomule.gui.FileManagerProperties.getFileManagerPropertiesFile(FileManagerProperties.java:21)
at gomule.gui.FileManagerProperties.loadFileManagerProperties(FileManagerProperties.java:30)
at gomule.gui.D2FileManager.checkProjects(D2FileManager.java:1102)
at gomule.gui.D2FileManager.createMenubar(D2FileManager.java:888)
at gomule.gui.D2FileManager.<init>(D2FileManager.java:126)
at gomule.gui.D2FileManager.<clinit>(D2FileManager.java:71)
at gomule.GoMule$1.run(GoMule.java:83)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
I'm using the stackable gems/runes mod, which is supposed to work with this version of GoMule, after all it's the same mod author for all three mods.
I'm using GoMule from the D2RMM.mpq folder, I read that it is supposed to work, so i'm a bit confused as well...
Here's the error, maybe this is helpful
Core problem seems to be this:
gomule.util.D2ItemException: Error: No translation for s10 (null, null)
Full error
java.lang.IllegalArgumentException: No translation for s10
at gomule.translations.Translations.getTranslation(Translations.java:11)
at gomule.item.D2Item.readExtend(D2Item.java:310)
at gomule.item.D2Item.read_item(D2Item.java:200)
at gomule.item.D2Item.<init>(D2Item.java:163)
at gomule.d2i.D2SharedStashReader.readSharedStashPane(D2SharedStashReader.java:40)
at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:25)
at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:16)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1714)
at gomule.gui.sharedStash.D2ViewSharedStash.connect(D2ViewSharedStash.java:81)
at gomule.gui.sharedStash.D2ViewSharedStash.<init>(D2ViewSharedStash.java:34)
at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1655)
at gomule.gui.D2FileManager.handleSharedStash(D2FileManager.java:1631)
at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1522)
at gomule.gui.D2FileManager$28.actionPerformed(D2FileManager.java:981)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at java.desktop/java.awt.Component.processEvent(Component.java:6386)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
gomule.util.D2ItemException: Error: No translation for s10 (null, null)
at gomule.item.D2Item.<init>(D2Item.java:173)
at gomule.d2i.D2SharedStashReader.readSharedStashPane(D2SharedStashReader.java:40)
at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:25)
at gomule.d2i.D2SharedStashReader.readStash(D2SharedStashReader.java:16)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1714)
at gomule.gui.sharedStash.D2ViewSharedStash.connect(D2ViewSharedStash.java:81)
at gomule.gui.sharedStash.D2ViewSharedStash.<init>(D2ViewSharedStash.java:34)
at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1655)
at gomule.gui.D2FileManager.handleSharedStash(D2FileManager.java:1631)
at gomule.gui.D2FileManager.openSharedStash(D2FileManager.java:1522)
at gomule.gui.D2FileManager$28.actionPerformed(D2FileManager.java:981)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at java.desktop/java.awt.Component.processEvent(Component.java:6386)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Do you see a "./translations/item-runes.json" file in GoMule's directory (in D2RMM.mpq)? If so, does it have an entry for "s10"?
Also, very important: is GoMule the *last* mod in your mod order (lowest position)? If there are any mods below it, it won't know about them.
Can you run the "Install Mods" process with both of those mods enabled, and then send me the D2RMM.log file?
d2rmm-log
Appreciate your help!
code
Maybe that's the problem, and the label for the new stacked s** items need to be added?
I tried this an lo and behold, it works!
The stacked runes show up in GoMule as normal runes, and the normal runes have strange names ("ÿc[runeName]"), but that's just cosmetics i guess. Functionality is there, that's the important thing!
gomule.util.D2ItemException: Error: No translation for zsg (null, null)
However, looking at the code it seems to me the runes fix is not so easily applicable to the gems mod.
java.lang.IllegalArgumentException: No translation for zcw
Error: null (Natalya's Shadow, 0x9ae30dde)
If I open the same stash with the original GoMule everything works fine.at gomule.item.D2Item.<init>(D2Item.java:173)
at gomule.d2x.D2Stash.readItems(D2Stash.java:183)
at gomule.d2x.D2Stash.readAtmaItems(D2Stash.java:151)
at gomule.d2x.D2Stash.<init>(D2Stash.java:78)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1701)
The same happens with Natalya's Soul. As soon as I remove both items from the stash, the stash can be opened in the D2RMM version of GoMule again.
I figured I'd post this issue here because 1) iirc those mods that play with inventories, stashes, cube, etc. were also done by you, so I figured you could help explain how to properly uninstall them and 2) this might be helpful for someone in the future that also installed those mods and then wants to uninstall them in order to use GoMule.
Anyway, so that's about it, how can I fix my game's mods in order to run GoMule with the modded files? Thanks in advance for the attention!
1. Enable all of the inventory / etc... mods (expanded inventory, expanded stash, merc equip).
2. Click "uninstall mods" in D2RMM. (D2RMM will revert the files that all the enabled mods would have modified back to their vanilla state in the /data/ directory.)
3. Disable all of the inventory / etc... mods. But keep your other mods (the ones you want to play with) enabled.
4. Click "install mods" in D2RMM. (D2RMM will install all the mods you actually want installed straight into the /data/ directory.)
5. Try playing.
Do not copy anything over from /mods/D2RMM/.
Try creating a new character and opening that character in GoMule. Try giving that character some items. With some effort, you should be able to narrow down the problem.
(For the stash, you can do a similar process by transferring all your items to characters, then deleting the stash save file to get a new/clean one.)
Character disconnected
But also (1) if I place the custom item back into shared stash tab (outside of character save file, unlike personal stash tab), in other words, only leave vanilla items in the inventory (starter vanilla items: 1 id scroll and 1 tp scroll); (2) and have the modded .txt files in the d2111 folder and the modded strings .json files in the translations folder (effectively manually setting up GoMule, instead of running the on from this wrapper). Then with both (1) and (2) it also isn't able to load characters (even with only the vanilla items). Despite the mods being fully functional. I'm going to guess that there is something wrong with just copying into those GoMule folders, the modded files because it seems unable to read them for some reason. I guess next test I'll do will be removing mods one by one and see if it works with a specific setup. Keeping the posting here for both my own recording and in case someone decides to help meat gomule.item.D2Item.<init>(D2Item.java:173)
at gomule.d2s.D2Character.readItems(D2Character.java:525)
at gomule.d2s.D2Character.readChar(D2Character.java:254)
at gomule.d2s.D2Character.<init>(D2Character.java:137)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1687)
at gomule.gui.D2ViewChar.connect(D2ViewChar.java:447)
at gomule.gui.D2ViewChar.<init>(D2ViewChar.java:426)
at gomule.gui.D2FileManager.openChar(D2FileManager.java:1413)
at gomule.gui.D2ViewProject$CharTreeNode.view(D2ViewProject.java:400)
at gomule.gui.D2ViewProject$3.mouseReleased(D2ViewProject.java:126)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Quick question, will this work with mods that add sockets to non-standard items like gloves, belts, and boots? Also, what about mods that add more equipment slots for your merc?
I am unsure about sockets on non-standard items. Give it a try!
Previously in D2LoD or in D2R ? In both cases can you mention where to find them please ?
I had a go at some changes in GoMule and so far I managed to get it to ignore the extra stashes and the items located in the extra stash tab space.
So far I find it quite hard to understand how the coordonates are determined for the D2LoD sprites used in GoMule.
Plus I have zero skills to make non paint new sprites for the extended stash tabs, any tips on how to maybe extract them from the D2R Mod itself (Expanded Stash (16x13) for D2RMM) ? Is it even possible to use the D2R sprites in the current GoMule version ?
Ofc I would still have to figure out how to redo the coordonates for each new tab if I figure out the sprites part.
Is there any way to convince you to make this change or provide some tips ? :D
LE: Turns out a good nights sleep was what I needed to clear my head a bit. I managed to get it working and it seems to be stable at first glance, no doubt I will probably find some bugs along the way.
Thanks you!
but still currently stuck with "disconnected"
any help would be appreciated :)
uggh nevermind, damn windows bugging out again. idk whats going on. i used gomule with no issues in the past on d2r, and i cant find a solution in any of the forums, everythings related to 2.4 (which is last time i used it successfully on my laptop), nothing related to current
LMAO figured it out, it does not work with "stacking mods"
i unstacked gems and runes and character loaded fine.
with go mule there really isnt a reason to stack now anyway sooo. hahha hope this helps someone else
stackable gems
stackable runes
as soon as i unstacked them all my character loaded fine?
GoMule for D2RMM should work with both Stackable Runes for D2RMM and Stackable Gems for D2RMM as long as:
1. It's installed alongside both mods (all 3 mods have to be enabled in D2RMM).
2. GoMule for D2RMM is placed lower in the mod order than the two other mods.
mod list
#12 stackable gems
#13 stackable Runes
#14 Gomule
ive tested multiple character inventories and stash/shared stash.
if any of my runes or gems are in the stacked variant, even if there is only 1 in the stack, go mule will not load the character/shared stash.
if i "unstack" gem and or rune, go mule works with no issues.
this is the case if i open gomule from the d2r directory which this unpacks it to, and or if i used the original gomule download that i unpack in my own destination
im having multiple issues.
the main issue is stash and character are "disconnected" when i load them.
2nd issue "i think this is more to do with java" but when i move my mouse around it will start popping up duplicate images of gomule, on my mouse cursor.... really weird.
but what is this mod actually doing? why is d2rmm installing it if i still have to go to folder and open go mule from there?
isnt that the same as just downloading it from the gomule website and running it from wherever i extract it?
to be clear im not trying to show any disrespect, im just trying to understand :)
2. Any issues with the tool itself are not something I can help with. Please go to the main GoMule project to report them.
3. What this mod is doing is giving GoMule the modded game data for your mod installation so that GoMule can open your modded save files. You are totally free to use the official release of GoMule, but it will only work with vanilla save files (in terms of what's saved into the save file).
*sorry for being that annoying guy* (i promise i wasnt trying to be haha)
lol