PEXPlugins / Modifyworld

Restriction plugin for Bukkit. Part of PermissionsEx bundle.
36 stars 38 forks source link

Wildcard (ID:?*) values working incorrectly #75

Closed SovHed closed 11 years ago

SovHed commented 11 years ago

Running MCPC-plus 1.5.2 B610 FTB Unleashed 1.1.1

Hi, I'm using PEX with ModifyWorld to block item crafting placement with the line:

Which used to work fine.(1.19.5) The wildcard blocking of 251 blocks 251:0 and 251:1 from being crafted.

However now i have updated to 1.19.6, the wildcard no longer works as intended and people are unable to craft the item with the ID 2517 or anything else starting with 251xx. The block on 251:?* however works fine and they can't craft that either.. but its blocking other stuff.

I changed the lines to this instead:

and this works correctly, blocking only the specified blocks and the others such as 25178 are now craft-able again.

As I am able to work around this issue its not critical to me but I figured it should be reported, I also apologize if this has been posted before.

daboross commented 11 years ago

This isn't really an error in the process, more of an error in the wiki. If you look at the regex, ? literally means have the last character or don't have it. It doesn't remove the * even if it doesn't have the :.

I always used (|:) instead of :? in my permissions. What (|:) does is have it not have the \ if it doesn't have the :.

SovHed commented 11 years ago

I'm sorry to ressurect this, perhaps with my own stupidity.. however..

Ok So further Testing... 3 items Chunk Loader: 251 Spot Loader: 251:1 Some Wood: 2519:5

By Default everyone is able to hold all these items.. I add 251:* to the player perms. he drops ONLY the spot loader 251:1 (this ban should've made him drop the 251 chunk loader right?

I change it to 251:?* and he drops ALL of the items.

Can you please explain what I should do to make him drop the 251 & 251:1 but NOT the 2519:5?

Thanks

Edit: Using 251(:*)? has worked correctly. A lot more hassle, but fixed.

daboross commented 11 years ago

It is just regex doing its thing. I use (|:*) :P.

zml2008 commented 11 years ago

This may be an artifact of PEX's regex escaping too. I want to add a 'raw regex' flag to permissions if there isn't one yet.

Throne3d commented 11 years ago

I provided him with the (:)? solution, but I looked at the (|:) - that would probably work too. I assume it means "blank" or ":*", as it's in brackets?

Which would be better to use - (:)? or (|:) ?