Shopkeepers

Shopkeepers

2M Downloads

Shopkeeper hire bug (Weird behavior if shop type perm is missing and trying to hire)

blablubbabcDEV opened this issue · 19 comments

commented

Migrated from: https://dev.bukkit.org/projects/shopkeepers/issues/319

Originally posted by VoigtmanMC (May 29, 2015):

What steps will reproduce the problem?

  1. Place several shopkeepers near one another and set them for hire.
  2. As an admin, the for hire window always opens.
  3. As a player, it's about 50/50 as to which ones will show the for hire gui.What is the expected output? What do you see instead?
    All for hire shop keepers should open the for hire gui.
    However, it seems sporadic and random as to which ones will.What version of the product are you using?
    1.55 (upgraded from an unknown version last night) to see if the newer version changed this behaviour. It did not.Do you have an error log of what happened?[21:09:14] [Server thread/INFO]: [Shopkeepers] Player Devorac is interacting with entity at Location{world=CraftWorld{name=VMC},x=6347.5,y=80.0,z=7223.5,pitch=0.0,yaw=0.0}
    [21:09:14] [Server thread/INFO]: [Shopkeepers] Opening trading window...
    [21:09:14] [Server thread/INFO]: [Shopkeepers] trading window opened
    [21:09:15] [Server thread/INFO]: [Shopkeepers] Player Devorac closed trading window
    [21:09:17] [Server thread/INFO]: [Shopkeepers] Player Devorac is interacting with entity at Location{world=CraftWorld{name=VMC},x=6348.5,y=80.0,z=7224.5,pitch=0.0,yaw=0.0}
    [21:09:17] [Server thread/INFO]: [Shopkeepers] Opening hiring window...
    [21:09:17] [Server thread/INFO]: [Shopkeepers] hiring window opened
    [21:09:17] [Server thread/INFO]: [Shopkeepers] Player Devorac closed hiring windowPlease provide any additional information below.On my survival server I've set up general market areas so players can hire shopkeepers.
    I set them up in 4 small huts with 2 shopkeepers on each side (8 per hut) with a space between them.
commented

Originally commented by blablubbabc (May 30, 2015):

Permissions shouldn't be the issue, because the window should not open in the first place if the players don't have the required permission.
Are you sure that those players aren't using client mods nevertheless? Do you get the same problem if you rank down from your admin rank and try yourself?
What other plugins are you using?

commented

Originally commented by VoigtmanMC (May 30, 2015):

Yes, I get the same issue when I rank down.
I just double checked this, and it would seem I can't enter the for hire window at all with this new version.
As for plugins, it's a long list. is there anything in particular you are looking for?

  • edit: I have hyperconomy installed as well. I uninstalled it and reinstalled it with no change in the behaviour. I also removed shopkeepers and replaced them with new ones setting them for hire as well. still no change. I am still able to access the window as op / admin but not as a player.
    Edited May 30, 2015
commented

Originally commented by blablubbabc (May 30, 2015):

[at]VoigtmanMC:
I am looking for plugins which might do some internal modifications of the server behavior (outside of the bukkit api) or for some other reason might decide to close a player's inventory.

commented

Originally commented by VoigtmanMC (May 30, 2015):

I am not sure i quite follow your meaning, however here is a list i think might fit what you're asking about.
worlguard
vault
votifier
protocalLib
shopkeepers
permissionsex
multiverse
hyperconomy
essentials
echopet
antimobspawn

the thing with this though, is it isn't alloweing them to see the for hire gui - but instead opens the trade gui

        Edited May 30, 2015
commented

Originally commented by blablubbabc (May 29, 2015):

Are these always the same players which have this problem?
Are those players using any mods?
What server version are you using? Spigot? I know that Cauldron for example has issues with shopkeepers.

commented

Originally commented by VoigtmanMC (May 29, 2015):

spigot 1.8.3
Mods are not allowed on my server and it's all players. I've double checked that perms are in order and it's all players.

commented

Originally commented by blablubbabc (Jun 1, 2015):

[at]VoigtmanMC:
Hm, still strange. It shouldn't print 'Opening hiring window...' in the first place then, because the required permissions node for the shop type is checked before it is even attempted to open the hiring menu.
I'm going to try this later myself and see if I can reproduce this.

commented

Originally commented by VoigtmanMC (Jun 1, 2015):

maybe they can be made to be hired even when normal isn't an option....

commented

Originally commented by blablubbabc (May 30, 2015):

[at]VoigtmanMC:
Hm, could try it without EchoPets (and also without ProtocolLib just in case) to see if those plugins might be interfering?
You also said that you experience the same issue if you rank yourself down to a certain rank:

Which permissions nodes does this lower rank not have, which you as admin have? Maybe you could try to track down a certain plugin or permissions node, which makes the difference.
Quote:the thing with this though, is it isn't alloweing them to see the for hire gui - but instead opens the trade gui

Does it show a normal villager trading gui (with default trades), or the one of the shopkeeper / an empty one?
Currently I have no idea what could be causing this issue for you.. I assume however that some other plugin is somehow interfering, because on my test server hiring works fine.

commented

Originally commented by VoigtmanMC (Jun 1, 2015):

solved it. It's not the other plugins but is perms for shopkeepers.
shopkeeper.player.normal
i took this away because i wanted to allow the players the ability to set up what they want to trade - not just emeralds by default. This seems to deny them the ability to hire when taken away as well.

good to know!

commented

Originally commented by blablubbabc (Jun 2, 2015):

[at]VoigtmanMC:
I could add a message telling them how to cycle through the shop types whenever they select the villager egg in their hotbar.

commented

Originally commented by VoigtmanMC (Jun 2, 2015):

I'm sure that would be a big help. In my case however, my economy isn't emerald based and players are getting confused about the slime and think it's going to accept slime... *edit note - Most often Emeralds become worthless in no time with a villy farm, players don't often bother accepting them.
Edited Jun 2, 2015

commented

Originally commented by blablubbabc (Jun 1, 2015):

[at]VoigtmanMC:
Nope, I won't change this. Instead you should give them the permission for normal shops and tell them how they can cycle through the available shop types.

commented

Originally commented by VoigtmanMC (Jun 2, 2015):

Thanks but no thanks

commented

Originally commented by blablubbabc (Jul 5, 2015):

[at]VoigtmanMC:
Quote:We do use an item-based economy, but we don't use emerald as the currency. We use our own custom item - which shopkeepers accept just fine. Emeralds are too easy to make when you have a villager farm and thus become nearly worthless in no time.

You can change the default currency items in the config.
Quote:Most players Ive worked with are used to just having an empty shopkeeper where they set the trades.

So why would they want to hire normal or buying shopkeepers then?
Quote:allowing them to purchase one of these empty shopkeepers in a protected area where they can't place one, would be a nice addition

I agree, that that would be a nice feature.

But currently shopkeepers doesn't support any kind of 'market area setup' (a place where either predefined shopkeepers can be rented, or an area which defines spots in which shopkeepers can be placed). The current hire feature isn't really that useful for setting something like this up, because, for example, the player hiring the shopkeeper becomes permanent owner of the shopkeeper, and is also able to remove the predefined shopkeeper again on its own.

So it would make more sense to not setup predefined shopkeepers there in the first place (because they won't be of long use), but maybe have an small area in this restriced zone in which players are not restricted from placing their shop on their own.

commented

Originally commented by blablubbabc (21 hours ago):

Late update on this one, but: Should be fixed in the next update (v1.84), and also added a setting so you can now actually let your players hire shops they don't have the creation permission for.
 
Improved / Fixed: Hiring behavior:
 
Changed: The hiring window can now always be open, regardless of if the player has the permission to hire this type of shopkeeper.
Added: Message 'msg-missing-hire-perm' if the player doesn't have the permission to hire shopkeepers at all.
Added: Message 'msg-cant-hire-shop-type' if the player cannot hire a certain type of shopkeeper (because he is missing the corresponding creation permissions).
Changed: Message 'msg-cant-hire' to use a different color.
Added: Config setting 'hire-require-creation-permission' (default: true) to allow enabling of hiring of shops the player would usually not be able to create himself.
Edited 21 hours ago

commented

Originally commented by blablubbabc (Jun 2, 2015):

[at]VoigtmanMC:
So if you don't use an emerald/item based economy or don't want your players to use the normal player shopkeepers, why do you create them for your players to hire then?

commented

Originally commented by VoigtmanMC (Jul 5, 2015):

[at]blablubbabc:
Sorry I've been out of the state for the month of June
We do use an item-based economy, but we don't use emerald as the currency. We use our own custom item - which shopkeepers accept just fine. Emeralds are too easy to make when you have a villager farm and thus become nearly worthless in no time. Most players Ive worked with are used to just having an empty shopkeeper where they set the trades. and allowing them to purchase one of these empty shopkeepers in a protected area where they can't place one, would be a nice addition.

commented

Originally closed by blablubbabc (Oct 24, 2017)