Sign in to follow this  
Munsta0

[RELEASED] Improved Improve for Ago's mod loader (client)

Recommended Posts

Hey all!

 

I love the crafting system, but selecting the proper tool to improve is just a hassle. So why not just use my handy toolbelt to help me craft faster?

 

I am glad to share with you all my first public mod for Ago's modloader 

 

Improved Improve : https://github.com/munsta0/WUClientImprovedImprove/releases/tag/1.0

How to use :

  • Add your improvement items to your toolbelt
  • Bind a key to improve
    • Open console with f1
    • Type "bind t improve"
  • Press binded key over the item of your choice and tada! The proper item will be picked and improved with

Limitations :

  • Add more than one improve action to the same item at once will use the same improvement tool
  • Only supports inventory windows, cannot currently improve items in the world

Notes :

  • Will not prevent the normal behavior of improvement, if no matching item is found in the toolbelt, it will try to use the currently selected item instead
  • Requires Ago's mod loader for client to work

 

I think this is the first mod for this client mod loader? Yay me!

 

Plan for the future : 

  • Make world object also improvable using this mod
  • Consider making a UI for it instead?
  • Maybe add auto-repair?

 

PS: first project ever on github, hopefully I did everytihng right. Feel free to give me feedback!

Edited by Munsta0
  • Like 7

Share this post


Link to post
Share on other sites

I will be using this on my server to test tmrw. I love the sound of this

Share this post


Link to post
Share on other sites

This mod is very nice but seems to have a problem with Imping a forge when it requires rock shards.  It can't seem to find the rock shards even though its in my tool belt.

Share this post


Link to post
Share on other sites
36 minutes ago, Kodos said:

This mod is very nice but seems to have a problem with Imping a forge when it requires rock shards.  It can't seem to find the rock shards even though its in my tool belt.

 

On 24/11/2015, 2:30:22, Munsta0 said:

Limitations :

  • Only supports inventory windows, cannot currently improve items in the world

 

Share this post


Link to post
Share on other sites

Very helpful mod, was working great at first, but after awhile noticed that sometimes a certain type of improvement would stop working: [15:38:55] You cannot improve the item with that. <-- trying to improve with leather, leather showing as the needed item. Disabling and running patch fixed it, repatching made it get stuck again. 

 

A couple of times an item on the toolbelt would work for improving, but trying to activate an item from inventory to improve would not imp or even show a message in event log.

 

Not sure if these issues are just me, and they did take awhile to show up, so not sure how to help track it down. Really great mod though, so hoping that there's a fix.

Share this post


Link to post
Share on other sites
On 26/11/2015, 23:18:29, Kodos said:

This mod is very nice but seems to have a problem with Imping a forge when it requires rock shards.  It can't seem to find the rock shards even though its in my tool belt.

 

Like Lucinel said, it's not supported at the moment. I have yet to find out how to ask the world about objects.

 

23 hours ago, Solax said:

Very helpful mod, was working great at first, but after awhile noticed that sometimes a certain type of improvement would stop working: [15:38:55] You cannot improve the item with that. <-- trying to improve with leather, leather showing as the needed item. Disabling and running patch fixed it, repatching made it get stuck again. 

 

A couple of times an item on the toolbelt would work for improving, but trying to activate an item from inventory to improve would not imp or even show a message in event log.

 

Not sure if these issues are just me, and they did take awhile to show up, so not sure how to help track it down. Really great mod though, so hoping that there's a fix.

 

I'm a bit unsure why it behaves that way. Normally it will try to find a matching improvement item in the toolbelt and if none are found it will send the selected item instead. I'll take another look and see if I can find the cause.

Share this post


Link to post
Share on other sites

Thanks for the great mod idea.

 

Unfortunately I cant use it currently, I'm get the following error, however all of the mods in ago's modlauncher work fine.

This is probably a basic error I my behalf :(

 

Quote

E:\Games\SteamLibrary\SteamApps\common\Wurm Unlimited Dedicated Server>runtime\bin\java "-Dworkdir=E:\Games\SteamLibrary\SteamApps\common\Wurm Unlimited Dedicated Server" "-Djava.library.path=E:\Games\SteamLibrary\SteamApps\common\Wurm Unlimited Dedicated Server\nativelibs" -Xmn256M -Xms512m -Xmx2048m -XX:+OptimizeStringConcat -XX:+AggressiveOpts -jar modlauncher.jar
java.io.IOException: java.lang.ClassNotFoundException: org.gotti.wurmonline.clientmods.ImprovedImprove.ImprovedImprove
        at org.gotti.wurmunlimited.modloader.ModLoader.loadModFromInfo(ModLoader.java:118)
        at org.gotti.wurmunlimited.modloader.ModLoader.loadModsFromModDir(ModLoader.java:65)
        at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:16)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at javassist.Loader.run(Loader.java:288)
        at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:24)
Caused by: java.lang.ClassNotFoundException: org.gotti.wurmonline.clientmods.ImprovedImprove.ImprovedImprove
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.gotti.wurmunlimited.modloader.ModLoader.loadModFromInfo(ModLoader.java:115)
        ... 8 more

E:\Games\SteamLibrary\SteamApps\common\Wurm Unlimited Dedicated Server>

 

Obviously I have the improvedimprove in the mods folder, checked the jar also existed.

 

Tks

Share this post


Link to post
Share on other sites

EDIT: Here is your error "Wurm Unlimited Dedicated Server"... This is "client side mod", meaning it's using the client mod loader, not the server. I'll leave the info down below if it can help anyone else.

 

Well the error is class not found and I know the mod works since a good few people are now using it.

 

Here is the folder structure you should have 


WurmLauncher

  • patcher.bat
  • modlaucher.jar
  • mods/
    • improvedimprove.properties
    • improvedimprove/
      • improvedimprove.jar
Edited by Munsta0
  • Like 1

Share this post


Link to post
Share on other sites

Thanks for the help, but all the mods work fine so far, except this one...

 

I used 7zip this time to extract the files, maybe my winrar is too old, and I am getting a different error now....

 

Quote

....

Nov 30, 2015 10:01:35 PM org.gotti.wurmunlimited.modloader.ModLoader$2 close
WARNING: Mod creaturedemo loaded server class com.wurmonline.server.creatures.CreatureTypes during phase init
org.gotti.wurmunlimited.modloader.classhooks.HookException: javassist.NotFoundException: com.wurmonline.client.renderer.gui.InventoryContainerWindow
        at org.gotti.wurmonline.clientmods.improvedImprove.ImprovedImprove.createMethodForBackPack(ImprovedImprove.java:146)
        at org.gotti.wurmonline.clientmods.improvedImprove.ImprovedImprove.createNeededMethods(ImprovedImprove.java:122)
        at org.gotti.wurmonline.clientmods.improvedImprove.ImprovedImprove.init(ImprovedImprove.java:22)
        at org.gotti.wurmunlimited.modloader.ModLoader.lambda$loadModsFromModDir$5(ModLoader.java:91)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
        at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.forEach(Unknown Source)
        at org.gotti.wurmunlimited.modloader.ModLoader.loadModsFromModDir(ModLoader.java:89)
        at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:16)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at javassist.Loader.run(Loader.java:288)
        at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:24)
Caused by: javassist.NotFoundException: com.wurmonline.client.renderer.gui.InventoryContainerWindow
        at javassist.ClassPool.get(ClassPool.java:452)
        at org.gotti.wurmonline.clientmods.improvedImprove.ImprovedImprove.createMethodForBackPack(ImprovedImprove.java:130)
        ... 20 more

 

Share this post


Link to post
Share on other sites
10 hours ago, Munsta0 said:

EDIT: Here is your error "Wurm Unlimited Dedicated Server"... This is "client side mod", meaning it's using the client mod loader, not the server. I'll leave the info down below if it can help anyone else.

        at org.gotti.wurmonline.clientmods.improvedImprove.ImprovedImprove.createMethodForBackPack(ImprovedImprove.java:146)

        at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:24)

 

Share this post


Link to post
Share on other sites

Thanks ago

Does this mean my location of the mod is wrong, or the mod is coded wrong ?

 

E:\Games\SteamLibrary\SteamApps\common\Wurm Unlimited Dedicated Server\mods\improvedimprove

 

Sorry for my lack of understanding Java

Share this post


Link to post
Share on other sites

This means this is a client mod and must be applied to the client, not the server.

Share this post


Link to post
Share on other sites

Any chance something like this could be done for Sow (planting crops)? IE, have a bag with seeds in it on toolbar that gets used if you don't have a plantable item already selected?

Share this post


Link to post
Share on other sites

Sure, I could make that happen, same as if you had the bag with seeds selected, but you'd have to queue one action at the time because of the way the game is made. You'd always queue the first seed inside the bag, which I dislike quite a bit. I believe it would require a lot more work to make sure you use a different seed every queued action, more work than I'm willing to put in at this point :P

Edited by Munsta0

Share this post


Link to post
Share on other sites
On 27/11/2015, 18:46:36, Solax said:

Not sure if these issues are just me, and they did take awhile to show up, so not sure how to help track it down. Really great mod though, so hoping that there's a fix.

 

Hey, I couldn't reproduce your weird behavior, but here are a few things that could screw with you.

 

  • Make sure your game is focused ( otherwise keybindings won't register )
  • Make sure you have the right toolbelt selected and haven't accidently changed
  • I'm more the blacksmith kind of guy, so I'm not 100% certain how leather works, but make sure you have enough material to improve with? (leather)

If none of these help, I'm afraid I can't reproduce with what you told me so far. Any more details would help greatly.

Share this post


Link to post
Share on other sites

I have been using it again for a couple of days now (too helpful of a mod to not try again), and no issues. Still not sure what happened the first time. 

 

 

Share this post


Link to post
Share on other sites
On 06/12/2015, 14:00:00, Solax said:

I have been using it again for a couple of days now (too helpful of a mod to not try again), and no issues. Still not sure what happened the first time. 

 

I'm glad to hear :)

Share this post


Link to post
Share on other sites

So no need for an improved improved improve then. hehe. Me hard to keep track of version upgrades that way.

 

Sorry, Couldn't resist.

 

Brilliant Mod Musta0

Share this post


Link to post
Share on other sites

Does this require me to bind improve to T? Could I bind it to, say, 1? Which is where I've got "improve," because I use a gaming mouse. 

 

I'm unfamiliar with how tool belts work. Never used them, myself. But this looks really interesting. 

Share this post


Link to post
Share on other sites
1 hour ago, EphemeralBeing said:

Does this require me to bind improve to T? Could I bind it to, say, 1? Which is where I've got "improve," because I use a gaming mouse. 

 

I'm unfamiliar with how tool belts work. Never used them, myself. But this looks really interesting. 

1 is by default, a bind for a selection slot of the toolbelt. The action Improve is not bound to any key by default and is selected in the contextual menu. He suggests binding it to the letter T for instance to make improving things using his mod to be easy.

you could even bind it to Shift+space if you wanted. or what ever.

Share this post


Link to post
Share on other sites

Any word on figuring out how to get this to work while hovering over world objects Munsta0?

Share this post


Link to post
Share on other sites

Thanks for this mod Munsta0. I'll never go back to imping the old way again.

I've found a bit of a work around for some world objects. Loading them into a wagon. This gives them the improve column inside the wagon interface/inventory and allows the improved improve to work as normal.

+1 on the future improvement of adding in auto repair to the functionality.

 

-Neonod

-Mythmoor Server, Spectre

Share this post


Link to post
Share on other sites

I had this mod working fine and without errors. now that i reinstalled wurm unlimited, it does not work anymore. Beside of that the life-map mod does not work also, but the seasons-configuremod still works fine. I tried installing the modlauncher of ago again, and also the improvedimprove-mod but doesn't help.

 

i have the toolbelt with the right tools active, and when i click on the piece i want to improve i get the message:

 

[21:36:06] 'Improve' requires an active item.

Edited by Sizan

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this