Sign in to follow this  
ozmods

how hard is it to add new models

Recommended Posts

so we know that arkonick has those models that he has "made" and we know the who har, that went on with that, and i refer to him because i have a question about what he did...

 

what i want to know, is this. is there a place i can learn more about adding new models to WU, i'm keen to do something like he did, but more along the lines of adding some curtains to the windows so they dont look so open and bare... and maybe something different when it comes to furnishings, like adding a new chair or something??

 

thanks for any help offered.

  • Like 1

Share this post


Link to post
Share on other sites

Adding something new requires both work on the model and the skin while changing just the look of an excisting model only requires a new skin (that is what he did).

What programs are in use nowadays I have no idea, but I am fairly sure there are some shareware like Blender etc you can use.

Somebody else will have to gve advice o the details thou.

 

The models and current skins are all in the server client files somewhere.

Or somewhere.

Edited by Cecci
confusion
  • Like 1

Share this post


Link to post
Share on other sites

Once you have created the collada-files and the image files for the skin, it's not very hard to get it working in-game.

 

Blender is a free 3D modelling program that can export collada-files.

For the skin you can use any image program that can save as png (basically all can).

Share this post


Link to post
Share on other sites

Can you explain how you put in the new models?

 

Eject

  • Like 1

Share this post


Link to post
Share on other sites

i have the graphics pack and I would love to use some of these for "personal use" but I don't know how to add the "recipe" to make these craftable on my own private server.. as I said I just want to learn how to do this stuff, so eventually we can get some new items into wurm, it really is lacking in this area.

Share this post


Link to post
Share on other sites

Add to CreationEntryCreator for making items craftable in game. Here is a link to help set it all up to edit that file. 

Or learn to use the scriptrunner which I know nothing about yet.

Edited by Governor

Share this post


Link to post
Share on other sites

The option with the least amount of programming needed should be the scriptrunner. I can probably put together a simple example tomorrow.

 

The recipe is essentially:

 

* Create a curtains.properties file with

classname=org.gotti.wurmunlimited.modloader.SimpleMod
depend.requires=scriptrunner,serverpacks
serverPacks=curtainspack.jar

* Save the pack with the curtains as curtains\curtainspack.jar

* Create a script for the template in curtains\scripts\onItemTemplatesCreated\template.js

var ItemTemplateBuilder = Packages.org.gotti.wurmunlimited.modsupport.ItemTemplateBuilder;
var ItemTypes = Packages.com.wurmonline.server.items.ItemTypes;
var logger = Packages.java.util.logging.Logger.getLogger("curtains");

function onItemTemplatesCreated() {

	var builder = new ItemTemplateBuilder("yourname.curtain.blue");
	builder.name("blue curtain", "blue curtains", "A nice blue curtain");
	builder.descriptions("excellent", "good", "ok", "poor");
	builder.itemTypes([ 
		ItemTypes.ITEM_TYPE_CLOTH,
		ItemTypes.ITEM_TYPE_NOTAKE,
		ItemTypes.ITEM_TYPE_REPAIRABLE,
		ItemTypes.ITEM_TYPE_TURNABLE,
		ItemTypes.ITEM_TYPE_DECORATION,
		ItemTypes.ITEM_TYPE_DESTROYABLE,
		ItemTypes.ITEM_TYPE_ONE_PER_TILE,
		ItemTypes.ITEM_TYPE_IMPROVEITEM,
		ItemTypes.ITEM_TYPE_OWNER_DESTROYABLE,
		ItemTypes.ITEM_TYPE_OWNER_TURNABLE,
		ItemTypes.ITEM_TYPE_OWNER_MOVEABLE,
		ItemTypes.ITEM_TYPE_NONUTRITION,
		ItemTypes.ITEM_TYPE_PLANTABLE,
	]);
	builder.imageNumber(640);
	builder.behaviourType(1);
	builder.combatDamage(0);
	builder.decayTime(9072000);
	builder.dimensions(5, 5, 205);
	builder.primarySkill(-10);
	builder.bodySpaces(Packages.com.wurmonline.server.MiscConstants.EMPTY_BYTE_PRIMITIVE_ARRAY);
	builder.modelName("model.decoration.curtains.");
	builder.difficulty(30.0);
	builder.weightGrams(2500);
	builder.material(14);
	builder.isTraded(true);
	var template = builder.build();
	logger.info("Created item template " + template.getTemplateId() + " for blue curtain");
}

 

* Add a script for the creation recipe in curtains\scripts\onServerStarted\recipe.js

var IdFactory = Packages.org.gotti.wurmunlimited.modsupport.IdFactory;
var IdType = Packages.org.gotti.wurmunlimited.modsupport.IdType;
var CreationCategories = Packages.com.wurmonline.server.items.CreationCategories;
var ItemList = Packages.com.wurmonline.server.items.ItemList;
var SkillList = Packages.com.wurmonline.server.skills.SkillList;
var CreationEntryCreator = Packages.com.wurmonline.server.items.CreationEntryCreator;
var logger = Packages.java.util.logging.Logger.getLogger("curtains");

function onServerStarted() {
	var itemId = IdFactory.getIdFor("yourname.curtain.blue", IdType.ITEMTEMPLATE);
	CreationEntryCreator.createSimpleEntry(SkillList.CARPENTRY, ItemList.clothYard, ItemList.shaft, itemId, true, true, 0.0, false, false, CreationCategories.DECORATION);
	logger.info("Created creation entry for blue curtain");
}

 

 

 

Edited by ago
  • Like 2

Share this post


Link to post
Share on other sites

Thanks guys... I will find some time to look nto it

 

if anyone reads this what I need is this

a js file that basically reads, edit here , edit here and so on and so forth, as i'm no programmer, but I rreally want to give this a go thanks

Edited by ozmods

Share this post


Link to post
Share on other sites

Thanks for the help on this, however i have few questions.

 

1. Do i need a special app to do these in, can i use notepad++

2. What is the folder structure for example curtains?

3. With some mods i see 'class' files in there what is thAt about, do i need these?

4. Can i use the above example for any mods that i find useful, im bit of a 3d nut, so i have a few hings i would love to try in wurm, but need to know if i can use the info above for them as well? Thanks

  • Like 1

Share this post


Link to post
Share on other sites

The Javascript files are pure text an can be written and edited in Notepad++ or any other text editor that saves them as plain text. The .class files are compiled Java files and are not relevant when using JavaScript with the scriptrunner mod.

 

See https://www.dropbox.com/s/0699z5a4oe61zgq/curtains.zip?dl=0 for the complete mod structure.

 

The graphics assets go into curtainspack.jar which must be structured like a regular graphics pack.

 

The example above is minimal setup for items without any custom behaviour. As soon as you want to have the items behave differently (for example opening and closing curtains) you'd have to start programming.

 

 

  • Like 2

Share this post


Link to post
Share on other sites

The post essentially shows that even minimal programming requirements are a real show stopper. So what would be an easy to use option to describe the item properties and recipes for the server? XML, JSON, anything else?

Share this post


Link to post
Share on other sites

cheers for all the help, it is going to make life a lot simpler now, that everything is explained in layman's terms. as you have done here.

Share this post


Link to post
Share on other sites

366220_20171019143030_1.png

ok I have inserted the dae and graphic files into the jar, above, and then put the jar and properties into a "curtains" folder into the server mod folder and the script files into the script runner folder, the recipe appears in the "recipe" area. but when I create it and then go to plant this is what I can see, what am I doing wrong here, thanks

Edited by ozmods

Share this post


Link to post
Share on other sites

Did you add an entry for  "model.decoration.curtains.birchwood=path to the dae" to mappings.txt too?

 

The hitchingpost has:

model.structure.hitchingpost			= HitchingPost/Hitching_Post.dae
model.structure.hitchingpost.unfinished		= HitchingPost/Hitching_Post_Unf.dae

model.structure.hitchingpost.decayed			= HitchingPost/Hitching_Post.dae?fence.texture=WoodenFenceDmg.jpg
model.structure.hitchingpost.unfinished.decayed		= HitchingPost/Hitching_Post_Unf.dae?fence.texture=WoodenFenceDmg.jpg

 

Edited by ago

Share this post


Link to post
Share on other sites
Spoiler


#-------------------------------------------------- CURTAINS ----------------------------------------------------------------- 
model.decoration.colorful.curtain       = furniture/Curtains/Curtains.dae
model.decoration.colorful.curtain.flowersred    = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_FlowersRed.dds
model.decoration.colorful.curtain.king      = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_King.dds
model.decoration.colorful.curtain.melody     = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_Melody.dds
model.decoration.colorful.curtain.nightdreams    = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_NightDreams.dds
model.decoration.colorful.curtain.passion     = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_Passion.dds
model.decoration.colorful.curtain.petals     = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_Petals.dds
model.decoration.colorful.curtain.zebra      = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_Zebra.dds
model.decoration.colorful.curtain.champion     = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_Champion.dds
model.decoration.colorful.curtain.velvetgreen    = furniture/Curtains/Curtains.dae?curtainMat.texture=green_velvet.dds
model.decoration.colorful.curtain.fancyred     = furniture/Curtains/Curtains.dae?curtainMat.texture=fancy_red.dds
model.decoration.colorful.curtain.cream      = furniture/Curtains/Curtains.dae?curtainMat.texture=cream.dds
model.decoration.colorful.curtain.green      = furniture/Curtains/Curtains.dae?curtainMat.texture=green.dds
model.decoration.colorful.curtain.purplenature    = furniture/Curtains/Curtains.dae?curtainMat.texture=purple_nature.dds
model.decoration.colorful.curtain.red      = furniture/Curtains/Curtains.dae?curtainMat.texture=red.dds
model.decoration.colorful.curtain.tasseledblue    = furniture/Curtains/Curtains.dae?curtainMat.texture=tasseled_blue.dds
model.decoration.colorful.curtain.tasseledred    = furniture/Curtains/Curtains.dae?curtainMat.texture=tasseled_red.dds
model.decoration.colorful.curtain.fancygreen    = furniture/Curtains/Curtains.dae?curtainMat.texture=fancy_green.dds
model.decoration.colorful.curtain.blackpattern    = furniture/Curtains/Curtains.dae?curtainMat.texture=black pattern.dds
model.decoration.colorful.curtain.camo      = furniture/Curtains/Curtains.dae?curtainMat.texture=camo.dds
model.decoration.colorful.curtain.woodland     = furniture/Curtains/Curtains.dae?curtainMat.texture=Curtains_Woodland.dds
model.decoration.curtains.birchwood      = furniture/Curtains/Curtains.dae

this is what is in the mappings.txt it doesn't appear to be finding the dae file, (the dae file and the texture files are all there. i'm at a loss as to why this isn't working. I changed the script location so it appeared in furniture not decoration, even before I change it, it still didn't work... sorry to be a pain, but i'm really lost as what i'm not doing right..

Share this post


Link to post
Share on other sites

Can you pleas upload the what you've got so far so I can take a look?

Share this post


Link to post
Share on other sites

mappings.txt must be in the toplevel of the graphics pack.

Share this post


Link to post
Share on other sites

The models showed up after I moved mappings.txt to the root. If this does not work for you then there's probably a problem with the setup of the serverpack mods.

Share this post


Link to post
Share on other sites

so I readded the mappings.txt file to the graphics jar as you suggested redownloaded all the launcher files re added the server files, redownloaded the curtain files and tried again, still nothing.

 

that's about my lot, I've tried and got no where, unless someone has a suggestion i'm done... unless someone has any suggestions??

Share this post


Link to post
Share on other sites

Does the hitchingpost mod work for you? Are the any errors in client logs?

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