MarkusBordihn / BOs-Easy-NPC

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

[Feature Request] Change the preset of an npc #150

Closed pandadorable closed 6 months ago

pandadorable commented 7 months ago

Is your feature request related to a problem? Please describe. I'm looking for a way to change the dialogues / trades of an npc with action

Describe the solution you'd like A way to modify the preset of the current npc ( the import command spawn an other npc at the same place)

Describe alternatives you've considered Change the default dialogue but can't modify trades/actions Use simple quest (the duplication of npc occurs)

MarkusBordihn commented 7 months ago

Just for clarification, are you requesting a command to change the dialogs and trades or do you want just to load specific presets which are only replacing parts of the data ?

Example:

pandadorable commented 7 months ago

Just for clarification, are you requesting a command to change the dialogs and trades or do you want just to load specific presets which are only replacing parts of the data ?

Example:

* Trade presets which only replace the trades

* Dialog presets which only replace the dialog data

* ...

The most easy way will be probably load a full preset in an npc, so you can change all of the data or duplicate some part but change other and you can have some preset to stick during the life of the npc

xiHinox commented 6 months ago

I think I've found a way to update the NPCs: Once you create an NPC and export it as a template for different versions (for example, for different dialogues or trades), its UUID remains unchanged. This results in the old instance of the NPC being essentially updated/deleted, as the mod automatically removes duplicates, leaving only the latest version of the NPC active.

This could be done across worlds, for instance, using the FTB: Quests mod, where you can spawn different versions through command quest rewards.

In other words:

  1. Spawn an NPC
  2. World-Export the first version and tag it for example like that: NPCv1
  3. Take the same NPC, do your changes and world-export it into another name for example: NPCv2
  4. ...and so on

If you want to edit the versions, i think you can just do your changes and World-Export it in the same name as the existing version is (it should overwrite the original file).

PLS Note: I am new in this mod as well and searched for a solution for this too, so it might not work correctly!

pandadorable commented 6 months ago

I think I've found a way to update the NPCs: Once you create an NPC and export it as a template for different versions (for example, for different dialogues or trades), its UUID remains unchanged. This results in the old instance of the NPC being essentially updated/deleted, as the mod automatically removes duplicates, leaving only the latest version of the NPC active.

This could be done across worlds, for instance, using the FTB: Quests mod, where you can spawn different versions through command quest rewards.

In other words:

1. Spawn an NPC

2. World-Export the first version and tag it for example like that: NPCv1

3. Take the same NPC, do your changes and world-export it into another name for example: NPCv2

4. ...and so on

If you want to edit the versions, i think you can just do your changes and World-Export it in the same name as the existing version is (it should overwrite the original file).

PLS Note: I am new in this mod as well and searched for a solution for this too, so it might not work correctly!

I try something like that but when you import a preset the uuid can change and you can have multiple npc at the same spot. But if I make it wrong during my test and you find a way where that work everytime I be glad to try it.

Until now I make my npc fall in a hole below them and make command block span the next one

pandadorable commented 6 months ago

After some test :

When exporting different version of an NPC make sure it's always the same UUID.

If the UUID not change between the exports, when using the command /easy_npc preset import ... that will replace the old npc