The Modders Wishlist
3 3

17 posts in this topic

Recommended Posts

So I recently been poking around and speaking to modders on a fairly regular basis (shoutout to the workshop_modding channel on Discord) and recently it feels like I been finding out about certain issues, or wishes more through happenstance than actually seeing it brought up elsewhere. So this thread is being created for modders to make requests for changes that could greatly help them in the creation of mods.

 

With that in mind there are a couple of caveats and preemptive questions I feel I should perhaps address:

 

Q: When will my suggestion be implemented?

 

A: It may never go in. This is something I am going to be balancing with my other duties, such as the small suggestions thread and my bug hunting duties, so not everything will be implemented. Obviously, we'll try our best but no promises! :)

 

Q: WorldZed, TileZed etc could use feature X

 

A: I personally don't work on those tools, so I can't actually make changes to them. Some of the team members who work on those tools, are also rather busy folks so feel free to make a suggestion and I'll try and pass them along to the relevant people, but don't expect those sorts of changes to happen or if they do, to be quick.

 

Q: I want to load models, skin characters, or other questions about loading this stuff in.

 

A: I also don't really work on those systems. A change has been made that will be going out in the next build, which should help people in that regard. However, it's only supposed to tide people over until animations come out where these sorts of things will become a bit better supported.

 

Q: That seems like quite a few caveats.

 

A: I suppose it is. This really is to get a pulse on what modders are looking for and to perhaps help matters out slightly, but it's also important to note this won't be a main focus, but this gives a collective avenue for modders to make suggestions and potentially make things, just a little bit easier. :)

 

 

So! Suggest away!

Share this post


Link to post
Share on other sites

Well, i have a suggestion to fix this:
"Obsolete" and "Override" strings recipes (to change basegame recipes) only work if the main language = English.
If i change settings to another language (Example: Spanish)
Recipes will be duplicate:
1- The base game recipe that not be overrided
2- A modded recipe (1) added in the mod.
https://theindiestone.com/forums/index.php?/tracker/issue/723--{?}/

Share this post


Link to post
Share on other sites

This is kinda a big one, but the Java API....

I'm still new to PZ modding. 80% of ORGM Rechambered was learned by constantly sifting through the API

theres 2 copies of it: http://projectzomboid.com/modding/ and https://theindiestone.com/zomboidjavadocs/ which seem to have subtle differences (which is more recent?)

The API lists the classes/methods/parameters and return values nicely, but most of it actually fails to have any description of the method's intended purpose.  I realize the API is probably auto-generated from the source, but surely there must be a way include descriptions? I haven't decompiled the java to look, but I can't imagine the documentation is that sparse or you'd all get lost coding.

It would be a massive help when modding, more useful then any other feature or guide I can think of.

Share this post


Link to post
Share on other sites

Ok, here it goes!

 

1- Food items can use a custom context menu text to replace "eat", I'd like to have this option of other item types such as literature.

2- I'd like to have a food item option that makes it spawn already cooked.

3- Another interesting food item option is to change it into another item when frozen, like for example making our own popsicle or ice cream.

4- Yet one more food suggestion, I'd like the option to make an item that doesn`t "inherit" certain properties from its uncooked/unfinished version. Right now there are some stuff like happiness/boredom that seem to be tied, I want to have an uncooked item that doesn`t give happiness while the cooked version does, but last time I checked it wouldn't work.

5- Maps can open an image with all that map info on them, I think that allowing other items to have an associated image file that can be checked in game could be nice. This is a suggestion I already posted here.

6- For some reason the moveable item type can't be used in recipes. Removing that limitation could open some fun possibilities.

7- One thing I think we could mod, maybe with a few changes, are new skills. How about adding some placeholder skills to the list that we could use, and let us control which of them show up in game? I know that there are currently skills that aren`t used, like Blacksmith, but enabling it in game needs Java changes and I`d rather not do that.

 

I will probably remember more ideas I had in mind later. Thank you for your efforts to help us modders!

Share this post


Link to post
Share on other sites

Connall and BatSphinx, you are awesome!

 

I think my biggest modding problem is that I'm a total moron when it comes to lua events. I'd like it if a very basic "How to Write Lua Events, Hurp Derp Dur Durr" could be written. There are some guides on this site but I haven't had much luck with them, they mostly define lua events, not how to write them.

Edited by Sparrow

Share this post


Link to post
Share on other sites

RemoveOnBreak and ReplaceOnBreak for weapons. Unless it was added in some update, not really up to speed but always wanted those.

Edit: also OnBreakLua for extra options.

 

 

Edited by Svarog

Share this post


Link to post
Share on other sites
13 hours ago, Fenris_Wolf said:

-snip-

 

See what I can do! Unfortunately, yes, believe it or not a lot of the functions in the code don't really have descriptions so it is searching around trying to figure things out. It's a pretty big code base, so would be a bit tough trying to add descriptions to all the code.

 

4 hours ago, Sparrow said:

-snip-

 

I assume you mean how to USE Lua Events? I'm not sure if you could write them Lua side (maybe you can, would have to see) since the current batch of event triggers are coded in to the Java source to fire when the event happens.

 

2 hours ago, Svarog said:

RemoveOnBreak and ReplaceOnBreak for weapons.

 

 

 

Are these options for the items file? So if removeonbreak = true, then remove from inventory. Or if RepaceOnBreak would be to a specific item, so when original item breaks,  change it to this item? Is that what you mean?

Share this post


Link to post
Share on other sites

That's actually kinda scary. I can tell how large the code base is by looking at the API. I've had to fill out documentation on large projects before, and have learned the hardway (more then once!) the best time to add the documents is early on in development. You spend less time writing the initial docs then trying constantly to figure stuff out later. Especially helpful when new members are added to the team or someone else takes up maintenance of a project later on. (sorry, I don't mean to lecture on best practices)

If its currently non-existent then I defiantly wouldn't hold it against you if you ignored such a nightmare request.

Share this post


Link to post
Share on other sites

@Connall oh wow what a great idea.

 

I have been doing item mods using itemzed.

I would love it if the following could be implemented for the replaceonuse function:

 

 ReplaceOnUse    =   self

The specific case is mostly for the less moddery like me to do more elaborate mods.  While it is feasible to call a ReplaceOnUse and put in the item name, this can become tedious if you want to make hundreds of items have this behavior and dont do a lot of lua scripting. If you just have replace on use self you can set it trivially to lots of items in itemzed. For a matter of scale, I am implementing 1000 items in itemzed and its just not manageable.  

Share this post


Link to post
Share on other sites

Would be nice if there was a simpler way of editing stuff like the optionsscreen (currently have to overwrite the MainOptions.lua because everything is a local variable) and the ESC-Menu while ingame.

Especially the ESC-Menu thing would open up mods to add their own config-menus in the ESC-Menu (like add a new button to the admin-menu).

Share this post


Link to post
Share on other sites

At first, I thought it was a problem with my mod,  but after some experimentation in the base game I've noticed this: Non-thumpable objects can be stacked on top of each other. Farming plots, plastic chairs, campfires, etc...as long as they don't share the same sprite, they can be stacked.

 

It's not game breaking, but somewhat exploitable. Could we get a way for all world objects to check a square for other world objects. The existing options don't seem to do this on such a broad situation.

Edited by Kurogo

Share this post


Link to post
Share on other sites

Refactor ISInventoryPaneContextMenu.createMenu into more manageable pieces (multiple smaller functions) so mods can overwrite specific parts without having to overwrite a massive function and risk breaking things on future PZ updates.

 

https://theindiestone.com/forums/index.php?/topic/23440-for-the-devs-isinventorypanecontextmenucreatemenu/

Share this post


Link to post
Share on other sites

Here's one more request that I think could help us modders: Update tiles definitions and give "Custom Name" values for most things there. It is a quick and reliable way to detect what the player is (right)clicking on. Also use this opportunity to "fix" several tiles that should be moveable, like the deer head on the wall.

Share this post


Link to post
Share on other sites
3 3