Sign in to follow this  
joedobo

[ABANDONED] Loading Unchained.

Recommended Posts

With the exception of getting the fire effect to disappear and reappear right it's working for the beta branch. It looks bad when a fire is still present after loading a lit forge. It's even worse if you load/unload tha forge a bunch of time.

 

I changed the bytecode pattern finder part of it so that it looks for matches in the constant-pool. The past couple times it has broken have been because a constant-pool reference number changed. Hopefully it will be more robust now.

Edited by joedobo

Share this post


Link to post
Share on other sites

-Compatibility with WU1.0.0.1
-Changed constant pool searching so just a copied javap.exe string is used.
-Added optional features to enable using altar inside container.

 

edit*

what? somehow I forgot to make a release for this. It is up now.

Edited by joedobo

Share this post


Link to post
Share on other sites

Could not get this mod to load with version 1.0.0.6.  The server would not start..  I can enable the mod on test and get you the error output.

 

Carts that have BSB's in them now giving this error.

[20:54:11] <Phoenix> bug [20:52:46] The bulk storage bin needs to be on the ground.

Share this post


Link to post
Share on other sites

I made release that will at least let you unload bins. It's a little buggy.

 I have been working on this for some time now. Unfortunately, It's got a lot of low level bytecode editing which breaks very easy. I've also been trying to add: 1) load things into a dragged vehicle, 2) load things that are inside a container directly into the new vehicle (so wagon directly to ship without first unloading to ground. 3) required strength to load tweak option.

 

I use it so it will get fixed fully eventually but I'm betting I won't be fast enough for some folks. lol, I spend more time modd/fixing mods then actually playing!

 

Is this the only problem when it's disabled?:

[20:54:11] <Phoenix> bug [20:52:46] The bulk storage bin needs to be on the ground.

I"ll see about an option in the mod that will go through the database and drop bins on ground. I'm not sure if its possible and I'm very reluctant to start making mods that do this kind of thing to the database.

 

Share this post


Link to post
Share on other sites

when the mod is enabled i couldnt even get the servers or clusters to load.   My player community love this mod, but i understand about play time vs coding time.    I was unable to figure out how to fix your code.. I am NO coder..   I do 3d models :)

Any support would be much appreciated joedobo! 

Share this post


Link to post
Share on other sites

I havent used all of the features yet, but I did notice issues loading a freshly updated server with useBedInCart=true enabled. I just disabled it moved on.

Share this post


Link to post
Share on other sites

i'll try turning beds off and see if i can at least get it to load.   Most like the mod for road building.

Share this post


Link to post
Share on other sites

I get it to work on my end so I'm not sure what's wrong.

 

There is a log file the mods folder called :aaaJoeCommon.log. That should tell me what part of it is failing.

  • Like 1

Share this post


Link to post
Share on other sites

Running the beta version for 1.0.0.6    working as you posted joedobo.   I'll post any debugs for those errors you reported as buggy. 

 

Thanks!!  

Share this post


Link to post
Share on other sites

Tried this mod tonight, wont let the server start up with this mod active, suggestions?

Share this post


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

Tried this mod tonight, wont let the server start up with this mod active, suggestions?

 

I wouldnt run it until he gets some kinks worked out.   Large chests loaded into carts were causing the server to hang when items were pulled in and out.  I have multiple threads hanging in VisualVM.     I removed it and ran a script i got from bdew to remove the chests from carts as the server would hang every time someone would add or remove and item from a large chest within a cart.

 

If you did load it and have similar artifacts from it i'll post the sql script to drop all large chests out of carts and on the ground. 

 

update ITEMS set 
ZONEID=(select ZONEID from ITEMS I2 where I2.WURMID=ITEMS.PARENTID),
POSX=(select POSX from ITEMS I2 where I2.WURMID=ITEMS.PARENTID),
POSY=(select POSY from ITEMS I2 where I2.WURMID=ITEMS.PARENTID),
POSZ=(select POSZ from ITEMS I2 where I2.WURMID=ITEMS.PARENTID),
PARENTID=-10 
where TEMPLATEID=184 AND PARENTID>0;

 

 

Thanks bdew.

 

Edited by razoreqx

Share this post


Link to post
Share on other sites

I think I'll disable this until CC gets around to making an actual API mod loader.

Share this post


Link to post
Share on other sites

It's strange that I don't have the issues that either Trake or Razor mention.

 

 

13 hours ago, Trake said:

I think I'll disable this until CC gets around to making an actual API mod loader.

 

I doubt much will change. The biggest problem is the low level bytecode editing. I guess if Wurm completely rewrites its server code so it is structured in way that we change anything with either reflection or the ExprEditor I'd have an easier time making something that isn't so buggy.

 

When I mod something I have a list of questions I ask myself (order by importance). I'll use the first one that is "yes"

1. Can I achieve the change with reflection?

2. Can I achieve the change using the Javassist.ExprEditor?

.....a) Change the values passed into a method.

.....b) redirect the method return value to a new method hooking function which will return a value of same type but I control how that value is derived.

3. Can I achieve the change with Javassist.insertAt/Before/After tools?

Lastly if all those fail

4. How many things use the method I need changed? For simple methods that are used very little...Javassist.setbody to completely replace it.

5. Use low level direct JVM byte code edits.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Ive disabled it until someone comes up with a fix, it would be rather useful for me right now, as im torally redeveloping my entire town and have alot of drates that are choc full of goods

Share this post


Link to post
Share on other sites
On 5/26/2016 at 10:43 PM, joedobo said:

It's strange that I don't have the issues that either Trake or Razor mention.

 

 

 

I doubt much will change. The biggest problem is the low level bytecode editing. I guess if Wurm completely rewrites its server code so it is structured in way that we change anything with either reflection or the ExprEditor I'd have an easier time making something that isn't so buggy.

 

When I mod something I have a list of questions I ask myself (order by importance). I'll use the first one that is "yes"

1. Can I achieve the change with reflection?

2. Can I achieve the change using the Javassist.ExprEditor?

.....a) Change the values passed into a method.

.....b) redirect the method return value to a new method hooking function which will return a value of same type but I control how that value is derived.

3. Can I achieve the change with Javassist.insertAt/Before/After tools?

Lastly if all those fail

4. How many things use the method I need changed? For simple methods that are used very little...Javassist.setbody to completely replace it.

5. Use low level direct JVM byte code edits.

 

 

 

Brother not questioning your ability to code.  I think it might just be one of the other mods we're running that might have a conflict.  I ran VisualVM and it was threads locking up from the large chests in wagons and items inside alters causing it.   

Share this post


Link to post
Share on other sites

I am an old fart already, so unfortunately growing old waiting for the API isn't an option...................................................

Share this post


Link to post
Share on other sites
3 hours ago, razoreqx said:

 

Brother not questioning your ability to code.  I think it might just be one of the other mods we're running that might have a conflict.  I ran VisualVM and it was threads locking up from the large chests in wagons and items inside alters causing it.   

 

Post the thread dumps please.

Share this post


Link to post
Share on other sites
33 minutes ago, bdew said:

 

Post the thread dumps please.

 

 

Working on getting those... At work atm

 

Share this post


Link to post
Share on other sites
8 hours ago, razoreqx said:

 

Brother not questioning your ability to code.  I think it might just be one of the other mods we're running that might have a conflict.  I ran VisualVM and it was threads locking up from the large chests in wagons and items inside alters causing it.   

I am a noob and I know it. I have no idea what the big picture affects are form some of the changes I made. I mod until it works on my machine. It's not like I'm doing extensive edge-case testing or trying different combination of mods to see if problems come up. Its good you said something because it motivates me to consider alternatives.

 

At thread...

I'm considering removing some things from this. I'm not sure they are that useful and they are contributing to the maintenance problem. I want to keep what I think is essential:

1. ability to load items/containers that may not be empty.

2. ability to interact with containers, bulk or not, when they are loaded into something.

3. ability to use a large magic chest loaded into something.

 

so removing: useBedInCart, useForgeInCart, craftWithinCart, useAltarInCart.

I'll try to keep "boatInCart".

 

I'm leaning towards trying to make temporary crafting camps (mini-deed) where we unload items and do tasks. The main problem with trying to use things inside vehicles is Wurm has multiple layers of checks to prevent folks from doing that very thing.  

Share this post


Link to post
Share on other sites

Those 3 points you have made are gital imo because being able to load non empty crates into a wagon or cart will make life loads easier

Share this post


Link to post
Share on other sites
3 hours ago, joedobo said:

I am a noob and I know it. I have no idea what the big picture affects are form some of the changes I made. I mod until it works on my machine. It's not like I'm doing extensive edge-case testing or trying different combination of mods to see if problems come up. Its good you said something because it motivates me to consider alternatives.

 

At thread...

I'm considering removing some things from this. I'm not sure they are that useful and they are contributing to the maintenance problem. I want to keep what I think is essential:

1. ability to load items/containers that may not be empty.

2. ability to interact with containers, bulk or not, when they are loaded into something.

3. ability to use a large magic chest loaded into something.

 

so removing: useBedInCart, useForgeInCart, craftWithinCart, useAltarInCart.

I'll try to keep "boatInCart".

 

I'm leaning towards trying to make temporary crafting camps (mini-deed) where we unload items and do tasks. The main problem with trying to use things inside vehicles is Wurm has multiple layers of checks to prevent folks from doing that very thing.  

 

Or flag them as options in the .properties     That would work perfect!

I would also add a function to the .properties to explode items out of all containers effected by the MOD as a fail safe

 

Share this post


Link to post
Share on other sites

I'm considering abandoning this. Wurm 1.3 changed how loading/unloading works so a lot of what I consider essential is now in vanilla WU. Boats are the main limitation that still persists. The two things I'd likely change are to remove the strength check for loading a boat that is holding stuff and make it so the ship transporter can be loaded. But if those two things are all I'm doing I'd rather make a new mod that is just for boat loading just to make the thread more relevant to that.

  • Like 1

Share this post


Link to post
Share on other sites

Is there an easy way to lower the Strength requirement for loading crates now? 

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