Skip to content

Instantly share code, notes, and snippets.

@Joedobo27
Created April 28, 2017 23:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Joedobo27/97095a097abcd83d77e604467fc187e9 to your computer and use it in GitHub Desktop.
Save Joedobo27/97095a097abcd83d77e604467fc187e9 to your computer and use it in GitHub Desktop.
// **************
// List items to make combine. Use numbers from com.wurmonline.server.items.ItemList
var toCombineItems = [439,440,436];
// **************
var ItemTemplateFactory = Packages.com.wurmonline.server.items.ItemTemplateFactory;
var ReflectionUtil = Packages.org.gotti.wurmunlimited.modloader.ReflectionUtil;
var Class = Packages.java.lang.Class;
var Logger = Packages.java.util.logging.Logger;
var logger = Logger.getLogger("com.joedobo27.scriptRunnerMods.make-items-combine");
function onItemTemplatesCreated() {
var itemTemplates = ItemTemplateFactory.getInstance().getTemplates();
var fieldCombine = ReflectionUtil.getField(Class.forName("com.wurmonline.server.items.ItemTemplate"), "combine");
for (i = 0; i < itemTemplates.length; i++) {
if (isValueInArray(itemTemplates[i].getTemplateId(), toCombineItems)){
ReflectionUtil.setPrivateField(itemTemplates[i], fieldCombine, true);
}
}
logger.info("ItemTemplates " + toCombineItems.toString() + " can now be combined.");
}
function isValueInArray(value, array){
var valuePresent = false;
for(i1 = 0; i1 < array.length; i1++){
if (array[i1] == value){
valuePresent = true;
break;
}
}
return valuePresent;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment