Jump to content

The Modders Wishlist


Connall

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!

Link to comment
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--{?}/

Link to comment
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.

Link to comment
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!

Link to comment
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
Link to comment
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?

Link to comment
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.

Link to comment
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.  

Link to comment
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).

Link to comment
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
Link to comment
Share on other sites

  • 4 weeks later...

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.

Link to comment
Share on other sites

  • 3 months later...

An internal change for the script string ResizeWorldIcon if uses 1xtextures
Example:
ResizeWorldIcon = 2.0 (The texture displays good size) but when change it to 1x in option settings the same icon displays too large.

This is in 2x settings but in 1x deer is very large.

screenshot_19-05-2018_12-44-13.png

Edited by Snakeman
Link to comment
Share on other sites

  • 2 months later...
  • 3 months later...

I would like so the same item type can be used in reciepes when making item mods.

 

For example,

 

Axe,

 Axe,

 Result: Mega axe

 

Edit:

 

Seems like it works to make single items combinable into a new item! Awesome!!

Edited by josko_91
Link to comment
Share on other sites

  • 11 months later...

https://steamcommunity.com/workshop/filedetails/?id=566115016

This workshop mod adds a Lua function to change only specific item variables when Lua is initialized by the game, so mod authors don't have to completely redefine items and cause incompatibility between other mods, and small unrelated changes the devs do to items. (ie, when IWBUMS 41 came out mods that changed the pistol's weight reverted its name change from M9. With this function that would not have happened, and the mod would not have needed an update.) 

It would be great to have this integrated into the game's scripting directly. Furthermore, creating similar Lua functions to tweak other things in the game (like vehicles) would be great, too. 

Edited by Nerezza
Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...
On 12/4/2019 at 10:01 PM, FilibusterRhymes said:

Hey guys, I was thinking it'd be nice to be able to have the radio and TV play sound files. That way we could mod in voice overs, songs and whatever else comes to mind.

 

This. Survivor Radio is a nice mod, but currently there's no sane way to make it really work.

 

We'd definitely need:

:setTimelinePosition()

 

Also nice to have would be:

:setMinDistance()

:setMaxDistance()

Link to comment
Share on other sites

It would be great to be able to change the item’s icons for different states, without deleting and creating / replacing the item.
Now you have to create a lot of identical items with different icons for this.

Link to comment
Share on other sites

  • 4 weeks later...

In ISInventoryPaneContextMenu.createMenu there is a loop that goes through every item in a container, and then the function spits out the entire context menu.

 

I'd like to make a change to how it handles one particular kind of item, but this is problematic because that logic happens inside the loop. I can't override the logic inside the loop without overriding the entire function, which I'm unwilling to do for compatibility reasons.

 

Could you tweak the code so that the loop calls a new createMenuItem function on each item, rather than handling all of the logic explicitly? That way modders could override the smaller sub-function without having to replace the entire createMenu function.

 

Edited by ohgodspidersno
specificity
Link to comment
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
×
×
  • Create New...