Zarius / Bukkit-OtherBlocks

OtherBlocks (now known as OtherDrops) plugin for Bukkit (dev build: https://www.mediafire.com/?i6ows1g6kus2o0l)
http://dev.bukkit.org/server-mods/otherdrops/
GNU General Public License v3.0
17 stars 17 forks source link

lorename condition parameter breaks the action #183

Closed israelcurtis closed 11 years ago

israelcurtis commented 11 years ago

If I use the lorename: condition with an action trigger, it fails to execute. However, if i use the new 2.8 beta lorename data indicator, it works fine. I mostly prefer the longhand style of configs, as I can both compose and read it more clearly...

so this works:

  - action: HIT
    tool: ironshovel@!~theSpade

while this does not:

  - action: HIT
    tool: IRON_SPADE
    lorename: "theSpade"

one interesting note, however, is that if I use the new lorename data indicator, I get this error in the console when reloading (but it doesn't break the action):

[OtherDrops:2.8b.353] Enchantment (~theSpade=>~thespade) not valid.
Zarius commented 11 years ago

I've tested this a few times now:

  GRASS:
  - action: HIT
    tool: IRON_SPADE
    lorename: "theSpade"
    message: "Lorename success"

And I only get the message when hitting grass with the iron spade with the correct displayname.

Tool lorename with @!~ isn't support yet (there's actually no code in the tool target to parse the lorename, so whilst it appears to work it'll work with any iron spade (regardless of lorename). I do intend to support this - refer #184.

israelcurtis commented 11 years ago

I cannot replicate this. Thought maybe it was because I was hitting mobs, but i just pasted your exact GRASS example in - and I get no "success" message unless I remove the "lorename" line. Then it works great.

Zarius commented 11 years ago

Are you sure the iron spade you have has the correct lorename (it's case sensitive)?

Try using "/odd ironspade@!~theSpade" and using that with the above config.

israelcurtis commented 11 years ago

i've checked the name. Using NBT edit to set name and lore. http://dev.bukkit.org/server-mods/nbtedit/

actually, using /odd doesn't do anything. Doesn't throw error, but doesn't make anything appear...

so i used /od drop, and I got the item. Used it, worked fine as you said. So there's something different about how item name/lore is being set with Otherdrops vs. NBT edit.

NBT edit plugin has appeared to work fine, items behave like I'd expect them to in minecraft.

Need to figure out what the disconnect is, as we will also be generating "lore" items via phatloots....

Zarius commented 11 years ago

That's probably it, is it possible nbt edit skips the Bukkit api? Generating display names with any other plugin that uses the Bukkit api to do it should work fine.

Odd that /odd doesn't work, what version of Craft Bukkit are you using? On 27/03/2013 8:18 AM, "somaticstudios" notifications@github.com wrote:

i've checked the name. Using NBT edit to set name and lore. http://dev.bukkit.org/server-mods/nbtedit/

actually, using /odd doesn't do anything. Doesn't throw error, but doesn't make anything appear...

so i used /od drop, and I got the item. Used it, worked fine as you said. So there's something different about how item name/lore is being set with Otherdrops vs. NBT edit.

NBT edit plugin has appeared to work fine, items behave like I'd expect them to in minecraft.

Need to figure out what the disconnect is, as we will also be generating "lore" items via phatloots....

— Reply to this email directly or view it on GitHubhttps://github.com/Zarius/Bukkit-OtherBlocks/issues/183#issuecomment-15492431 .

CelticMinstrel commented 11 years ago

Um... yes, NBT edit skips the Bukkit API, but that shouldn't matter, since it directly edits the player.dat. You'd of course have to make sure the player was logged out before editing (so that your edits don't get overwritten).

Maybe you could try generating an item with lorename in-game (for example creating a drop rule that drops an item with lorename) and comparing it in NBT edit with the item you created in NBT edit?

israelcurtis commented 11 years ago

using spigot b726... (can never tell which craftbukkit build is in there)

Zarius commented 11 years ago

Yeah, I think spigot might handle commands slightly different and therefore the /odd (alias for /od drop) doesn't work. I've got a note to test that later. Closing this issue as fixed.