anegostudios / VintageStory-Issues

Vintage Story's public issue tracker for reporting bugs, crashes and the like
41 stars 16 forks source link

Modding and API related tracking issue #218

Open copygirl opened 5 years ago

copygirl commented 5 years ago

This is a tracking issue to collect and discuss bugs, features and requests regarding modding, the modding API and user experience regarding mods.

Feel free to also suggest smaller things that you think don't need their own issue (or you're just too lazy) right here in this issue. I will include them in the list as well.

User experience

Code mod related (API) requests

Content / Theme mod related (Asset / JSON) requests

Improvements and fixes

copygirl commented 5 years ago

I've already put my own smaller change regarding WatchedAttributes not syncing everything automatically as one might expect, I'd also like to add a way to prevent players from sprinting somehow, though I'm not entirely sure how. Perhaps add a CanSprint property to EntityProperties? (Which would then also affect the ability for hostile mobs to run at you like wolves and hyenas.)

CreativeMD commented 5 years ago

Some more todos (Tyron told me to post them here)

copygirl commented 5 years ago
  • arrow, spear and thrownstone should use variantgroups instead of confusing alternate texture mapping.

Can you explain to me how that's related to modding / API changes? Sorry, I'm just not familiar with the JSON API so I don't know variants well and haven't seen the alternate texture mappings.

CreativeMD commented 5 years ago

There were no variantgroups as Tyron implemented the different types of arrows. So he added the different textures as alternate textures.

    textures: {
        "arrow": { 
            base: "entity/arrow/stone", 
            alternates: [ { base: "entity/arrow/copper" }, { base: "entity/arrow/tinbronze" }, { base: "entity/arrow/bismuthbronze" }, { base: "entity/arrow/blackbronze" }, { base: "entity/arrow/gold" }, { base: "entity/arrow/silver" } ] 
        },
    },

An added a special attribute which will be used by the renderer to pick the right texture for the arrow:

    attributes: {
        texturealternateMapping: {
            "stone": 0,
            "copper": 1,
            "tinbronze": 2,
            "bismuthbronze": 3,
            "blackbronze": 4,
            "gold": 5,
            "silver": 6,
        }
    }

This messy solution can now be removed and done with variantgroups. I don't know how it relates to this issue here. Tyron figured it might be a good idea to include it in the big update as he said.

Novocain1 commented 5 years ago

Requesting an OnCreatedByCrafting() callback for collectibles.

tenabraex commented 5 years ago

Please implement tiling textures (x repeat, y repeat, no repeat) for better ability to brick, wall, etc. on large objects without using large textures.

tenabraex commented 5 years ago

per tonyliberatto - tabbed/dropdown etc. for mods in the creative menu (and I would add in things like the knapping and claymolding menus)

Craluminum2413 commented 3 years ago

Gun magazine mechanics (also rate of fire and reload speed), that is, the ability to put several ammo into the weapon at once, be able to replenish ammo at any time

copygirl commented 3 years ago

@Craluminum2413 Sounds like something that should be handled by a library mod.

Craluminum2413 commented 3 years ago

What about the ammo selection? Round menu or etc. To choose the desired arrows for the bow, for example

copygirl commented 3 years ago

Library mod, or base it on the tool mode selection GUI.

tels-git commented 2 years ago

Please add a callback after (or when) things are crafted (first two are most important):