
shopkeeper citizen please please do this fast
Galaxy1133 opened this issue ยท 8 comments
ok when you make a shopkeeper citizen it lets you add a command to it by doing /npc command add -r/-l say test when you do -r as right click when you click on the npc it does not do anything but if you do -l for left click it does the command you want it to do so please fix this
also could you make it so the shopkeeper them self can be used as entities like in skript for example could you make it so you can do
on click of entity named ( the name of the shopkeeper) idk say this guy is dumb
ok when you make a shopkeeper citizen it lets you add a command to it by doing /npc command add -r/-l say test when you do -r as right click when you click on the npc it does not do anything but if you do -l for left click it does the command you want it to do so please fix this
The shopkeeper overrides the interaction handling. Just use a normal Citizen NPC if you want to NPC interaction to do something other than opening the shopkeeper.
also could you make it so the shopkeeper them self can be used as entities like in skript for example could you make it so you can do on click of entity named ( the name of the shopkeeper) idk say this guy is dumb
I do not have plans to turn the shopkeepers plugin into a general-purpose alternative to NPC plugins like Citizens.
If there is some feature specifically related to the shop aspect of the Shopkeepers plugin that might be useful for a broader set of plugin users (e.g. "I want the shopkeeper to send a custom greeting whenever a player comes near / interacts with it"), we can discuss it (though, this likely has no high prioprity for me right now). But if you want to customize the behavior of the shopkeeper entities in a general way, beyond what is built-in and beyond the usecase as shops, you will need to write a custom add-on plugin to do that, or use a general-purpose NPC plugin like Citizens directly.
For the "I want the shopkeeper to send a custom greeting whenever a player comes near / interacts with it": The chat is usually not fully visible when the trading UI is opened, so I don't see much of a purpose of doing this on interactions. One thing that could be considered is to print a message when a player comes nearby.
i want to use a shopkeepers npc like if you click on it it pops up the trading thing i want you to just make it so when you click on it if the npc has a set command on it it is able to run because right now you can click the shopkeeper npc if it has a set left command but it does not get run if its a set right click command
i want to use a shopkeepers npc like if you click on it it pops up the trading thing i want you to just make it so when you click on it if the npc has a set command on it it is able to run because right now you can click the shopkeeper npc if it has a set left command but it does not get run if its a set right click command
What do you want to achieve with this command specifically?
im gonna add dialog to every villager and also add missions
Why do you use a shopkeeper for this, instead of a normal non-shopkeeper Citizens NPC? You can also use a normal Citizens NPC and then open the shopkeeper trading menu of a remotely hidden shopkeeper via command when you desire it. Currently, your custom right click logic conflicts with the shopkeeper right click logic.
i have already done that before but it messes with my anti cheat and yes i know thats not your problem but if you made it so the left click commands can work with the shopkeeper citizens why cant you make it so the right click commands work
I just looked at the code and the reason is that I want to bypass any other plugins that might potentially react to the entity interaction. For example, region protection plugins will usually also react to the interaction and print their "You are not allowed to do that" message even though the shopkeeper bypasses that and still opens the trading menu.
However, it seems like there is actually already a setting you can try out: cancel-citizen-npc-interactions: false
Let me know if this works for your usecase. But if this doesn't work or results in conflicts with your other plugins, you are out of luck and I don't intend to make changes to this logic.