MarkusBordihn / BOs-Easy-NPC

Create easily NPC for your world or for your mod.
Other
20 stars 9 forks source link

[Feature Request] Server-side skins #290

Open DedMaxim opened 3 months ago

DedMaxim commented 3 months ago

Is your feature request related to a problem? Please describe. 🤔 I'm working on an adventure modpack/server combo for a small streamer community. On this server, there are story-driven quests, which involve using NPCs from Easy NPC mod. As I develop the pack/server, I realized an issue I don't have right now but will have as soon as the server opens it's doors for players. Right now to add custom skins, I place them into the client config folder. Then, from time to time, I just push an update for the pack to CurseForge. Again, as of right now, the pack is still not open to the public, so it doesn't really matter how frequently I update it and what these updates consist of. However, as the server gets open, if then I'd need to add an NPC with a custom skin, I'd have to push a whole pack update just to add a tiny png file...

Describe the solution you'd like 💭 A dedicated server side folder that would store additional custom skins. The folder should only be accesable through direct access using the file system, where the server is installed. This way, an admin can add skins on the server side that could be instantly displayed to the player, without need to do anything from player's perspective.

Describe alternatives you've considered 🔄 I considered using URLs or usernames. Usernames are not always an option, as sometimes I need non generic skin but something specifically custom made for an exact situation. And using URLs would require the need to use some kind of external web storage solution, even if it is free. This, firstly, would make the process of adding skins slightly more annoying that it needs to be and, secondly, add one more point of failure as: What if the file server is down? What if the file server is blocked by provider/country where player lives? What if I run out of storage? What if I need to replace a skin? etc.