Sign in to follow this  
ozmods

bigger fruit press script by joedobo

Recommended Posts

a while back he made a script that could be edited for either a bucket or fruit press or even a barrel but for the life of me, I never could get it to work.

 

i'm wondering if someone would be able to send me a script that ACTUALLY WORKS. I followed his instructions to the letter but still couldn't get it work.. I have a 10000 tile winery and I am going to need a very big fruit press

 

anyone?? thanks in advance.

Share this post


Link to post
Share on other sites

This works fine. I don't remember what I gave you before. It's a standard scriptrunner thing and goes in onItemTemplatesCreated folder.

Spoiler

// **************
// Set size in the from: x, y, z. A small barrel is 30, 30, 50. ALWAYS! sort them in ascending order regardless.
var toSetX = 30;
var toSetY = 30;
var toSetZ = 50;
// **************


var ItemTemplateFactory = Packages.com.wurmonline.server.items.ItemTemplateFactory;
var ReflectionUtil = Packages.org.gotti.wurmunlimited.modloader.ReflectionUtil;
var Class = Packages.java.lang.Class;
var Integer = Packages.java.lang.Integer;
var Double = Packages.java.lang.Double;
var String = Packages.java.lang.String;
var ItemList = Packages.com.wurmonline.server.items.ItemList
var Logger = Packages.java.util.logging.Logger;
var logger = Logger.getLogger("com.joedobo27.scriptRunnerMods.resize-fruit-press");

// The weird string converting methods are because JavaScript converts results to double when multiplying.
// Even trying to do JavaScript's Math.round/floor methods don't make the double into an equivalent Java "int".
// Further, I wasn't able to do a Java casting from this script runner tool.
var toSetVolume = toSetX * toSetY * toSetZ;
var toSetVolume = String.format ("%.0f", toSetVolume)
var toSetVolume = Integer.parseInt(toSetVolume, 10);


function onItemTemplatesCreated() {
	var itemTemplates = ItemTemplateFactory.getInstance().getTemplates();
	var fieldCentimetersX = ReflectionUtil.getField(Class.forName("com.wurmonline.server.items.ItemTemplate"), "centimetersX");
	var fieldCentimetersY = ReflectionUtil.getField(Class.forName("com.wurmonline.server.items.ItemTemplate"), "centimetersY");
	var fieldCentimetersZ = ReflectionUtil.getField(Class.forName("com.wurmonline.server.items.ItemTemplate"), "centimetersZ");
	var fieldVolume = ReflectionUtil.getField(Class.forName("com.wurmonline.server.items.ItemTemplate"), "volume");
	var fruitPressId = ItemList.fruitpress;

	for (i = 0; i < itemTemplates.length; i++) {
		if (itemTemplates[i].getTemplateId() == fruitPressId ) {
			ReflectionUtil.setPrivateField(itemTemplates[i], fieldCentimetersX, toSetX);
			ReflectionUtil.setPrivateField(itemTemplates[i], fieldCentimetersY, toSetY);
			ReflectionUtil.setPrivateField(itemTemplates[i], fieldCentimetersZ, toSetZ);
			ReflectionUtil.setPrivateField(itemTemplates[i], fieldVolume, toSetVolume);
			
			var centimetersX = ReflectionUtil.getPrivateField(itemTemplates[i], fieldCentimetersX);
			var centimetersY = ReflectionUtil.getPrivateField(itemTemplates[i], fieldCentimetersY);
			var centimetersZ = ReflectionUtil.getPrivateField(itemTemplates[i], fieldCentimetersZ);
			var volume = ReflectionUtil.getPrivateField(itemTemplates[i], fieldVolume);
			logger.info("The " + itemTemplates[i].getName() + " is now x, y, z, volume: " + Integer.toString(centimetersX) + ", " + Integer.toString(centimetersY) + ", " + Integer.toString(centimetersZ) + ", " + Integer.toString(volume) + ".");
		}
	}
}

 

 

 

Edited by joedobo

Share this post


Link to post
Share on other sites

I assume it goes into this folder??

Quote

Steam\steamapps\common\Wurm Unlimited Dedicated Server\mods\scriptrunner\scripts\onItemTemplatesCreated

 

thanks again.

Share this post


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

I assume it goes into this folder??

 

thanks again.

Yes

Share this post


Link to post
Share on other sites

ok right, I cant really play wurm now anyway.. I've dropped in about a 1000 head of cattle and sheep and chickens, (total). that along with the building I have going on, and it lags like you have never seen, I cant even get in before the lag spikes to about 10, (tried on 2 different computers same problem) if I leave it up over night, it lags as high as around 120.. so wurm is a bust for me now.. it was fun while it lasted..

 

so thanks everyone for the ride it's been a blast.

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