EssentialsX

EssentialsX

2M Downloads

Fix spawnerconvert functionaltity

Kakifrucht opened this issue ยท 21 comments

commented

Essentials supports the retrieval of premade mobspawners (/i mobspawner:mobdatavalue) and should usually, if the player has the permission for the specific mob, change the spawner on placement automatically to the given mobtype. Due to changes of data value handling in vanilla 1.8, it is no longer possible to store such value for mobspawners in the item while in inventory. Maybe add a lore and read that on placement?

commented

I'm working on a BlockStateMeta solution that should fix giving spawner items and signs for anything 1.8.3+.

commented

Currently the essentials.spawnerconvert.* permissions are not used, could you add those? Otherwise it works nice, although it would be nice to add a lore maybe? Currently when adding a lore it does not seem to work. Thanks!

commented

Lore is added starting from 37d4dc7, as for spawnerconvert, the permission seems to be used, so I'm not sure why it isn't working.

commented

Weirdly the lore does only work with /i, not /give.
As for the permission, I just tested it and it doesn't seem to be used, as I could just place whatever I wanted.

commented

Lore works with /give for me

commented

That's odd, it certainly does not for me.
/i 52:50 1 lore:Test
Works!
/give me 52:50 1 lore:Test
Does not work! I also tried /essentials:give
No stacktraces, I just get a normal monster spawner.

commented

Don't specify the lore, the name is done automatically. /give vemacs mob_spawner:50 1 gives me a creeper spawner with the name Creeper Spawner.

commented

Not sure, it's not something I've changed specifically. I can't reproduce it either.


commented

Yes exactly, but I want to add a custom lore. This works with /i, so why not with /give?

commented

I can't reproduce, edited message above. What is a bug is that when the lore is set, the name is lost.

commented

Odd, as it worked before with the 1.7 Essentials builds. Nothing major, but would be nice if possible.

commented

It shows Monster Spawner, it should be a creeper spawner though.
Use the command without the lore and odd behaviour will start.

commented

Ah, so you were referring to the name. Got it.

commented

Yeah well the name plus the fact that once you place it won't be a creeper spawner, at least for me.

commented

Looks like that Essentials is doing something weird when the lore is set. File this as another bug (it's a bit of a non-frequent use case so not super high priority).

commented

Before the 1.8 update:

  1. Give yourself a custom mobspawner (/give player mobspawner:mobvalue 1), where mobvalue is the mob network id, for instance pig is 50
  2. Place the mobspawner
  3. Essentials will check if a mobspawner has been placed, check the placed items datavalue (in this case 50) and then change the mob on the placed mobspawner

This is no longer possible, as the data value can no longer be stored in mobspawner items in your inventory. Giving yourself a custom spawner will simply reset the data value to 0.

commented

Further information:

The feature was added here:
1cb9ddf

Basically, it allowed you to spawn in pre-set mobspawner items, so instead of giving someone a default (pig) spawner, you could give them a chicken spawner using /i 52:93, for example. Then, when they placed the spawner, it would be automatically set to chicken (if they had the essentials.spawnerconvert.chicken permission).

commented

Wait so what exactly is the issue? What could you do before that you can't now? Please explain it step by step.

commented

Mobspawner mobs could be changed with spawn eggs anyways?

commented

This wasn't meant to criticize you, I just wanted to notice that ;)

commented

Yes they can, and this is how I manage it on my server, however this is a feature Essentials has and one that is broken now.