Most of the sounds/voice acting are through texture packs I believe, just switching preexisting sounds that wont be used in the map with the custom sounds then just using a play sound command.
NPCs are a mob though the education toggle, they come with customizable text boxes and such, although I'm not sure how to retexture/remodel them, it is possible.
Custom items and mobs are though a behavior/texture pack, I would recommend both
blockbench and
bridge for that.
There are many ways to do a door, I would recommend using YouTube tutorials, specifically a sand door may be the closest option.
For scripted events like spawning and items are relatively easy with commands, although mob movement gets harder.
Also as a side note the
Minecraft wiki has tutorials for most commands and addon making for both java and bedrock.
Hope this helps!