MobArena
MobArena copied to clipboard
Feature Request: Blacklist for "My-Items"
Feature request
Short description
It would be really cool to be able to blacklist items they can bring into mob arena using their own items. (my items class) Alternatively, it would be awesome if we could cap how many of an item they can bring.
It would be nice to cap them with how many consumables they can bring in.
Another thing for blacklisting items, it would be great to be able to blacklist lore text as well. This can help us control custom enchants from entering the arena if needed.
Implementation details
What I'm not sure about is how to communicate correctly to the players what is blacklisted and what isn't.
I hope its ok I don't break down the above, I'm not the most technical and I don't want to muddy the idea or confuse people.
Thanks for the suggestion!
I don't think this kind of enhancement will happen before the Sessions rework. My Items is a dirty hack in the class system, and it is pretty limited in terms of what it can "do" in its current context. Also, any sort of extra functionality built on top will just make it that much harder to pull up by the roots and implement properly later down the road.
As with any feature request, I prefer to knead the idea a bit to see if we can't figure out the why rather than the how. So why exactly is blacklisting desirable? It would appear that the underlying issue with My Items is balance, in which case whitelisting is a lot "better" from a maintainability aspect. If a blacklist is implemented, it should be accompanied by a whitelist alternative for the sake of completeness.
Balance is one of the main motivators for the class system in the first place. Another motivator is inclusion - allowing equal opportunity to have fun in a minigame that is isolated from the rest of the server. My Items breaks that isolation at a fundamental level, so perhaps we should explore that aspect further. It certainly brings #552 into perspective: instead of stripping inventories based on unknowable black- or whitelists, players could be encouraged to be more careful about bringing their entire stash into the arena. That makes it the player's choice, rather than enforcing an arbitrary implicit rule in the "mechanism". It creates a balance between risk and reward, which aligns the arena experience with the rest of the survival server experience (dungeons, nether, the end, etc.). The current iteration of My Items inherits MobArena's fundamental "no risk" principle, and I don't think it has to be like that. It feels a bit like My Items and the class system are actually somewhat opposing - do you use both My Items and the other classes?
At any rate, the how is obviously still important, and I don't think the feature request is complete without it. This is not really about programming, but more about "product design" - something almost anyone can do at least as well as I can, because frankly I'm not very good at it. It would be a great help to get a "spec" for how you'd like this to work. An example of how the config-file would look and how you expect every node and value to impact the functionality would make things oh so much easier on my part.
I'm not a developer and you're asking me to tell you things on a developer level. I don't think I'm interested in continuing this suggestion. Thank you.
Development is only one part of the effort required to bring an idea into reality.
Right now, the idea is too vaguely defined for me to just sit down and write some code. I can do everything myself, but I would rather not, because it means I have to make a bunch of assumptions, and I will probably guess wrong and end up wasting my time implementing something that isn't good enough or completely misses the point. I'm asking you to elaborate and iterate, because I can't read your mind, and there isn't enough information here to go by.
From what I have gathered, you're asking about the following:
- Blacklist certain items
- Blacklist an amount of certain items
- Blacklist items based on lore text
I have no clue what the third bullet means. I know what lore text is, but I don't understand how you expect to be able to blacklist by it. I also don't understand how you expect these things to work or mesh together. Some examples of how you would set this up and the expected outcome would be massively helpful in fleshing out the idea, and it literally is a non-development aspect of it. I'm not asking for "developer level" input, I'm asking about everything else, because everyone else can do that just as well as I can, if not better.
What I'm asking for is involvement and participation. I'm giving you (and everyone else following along) the opportunity to chime in and make this idea the best version of itself it can be. I'm asking for help with the parts that you can help with, because this is a community, not a consultancy. The more of the total effort you can lift off of my shoulders, the more time I have for programming And that does mean putting in some extra effort compared to (not) paying someone to "just get it done". I respect your choice to not invest that kind of extra time and effort into the suggestion - I, too, have a very time consuming day job and other hobbies. But please don't make it sound like I'm asking for something I most certainly am not asking for.
If anyone else would like to continue to iterate upon this idea, feel free to chime in.
-
The blacklist should be in a separate config from config.yml (since rework I hope arenas also split into own configs, so its own blacklist.yml would make sense.)
-
It would follow the same rules as class settings, this way you could prevent certain enchanted items?
blacklisted-items:
- enderpearl
- potion:long_speed
- bedrock
With a message if you do try to join:
Sorry, you cannot bring item into the arena. Please remove the items from your inventory and join again.
Example:
Sorry, you cannot bring enderpearl, bedrock into the arena. Please remove the items from your inventory and join again.
If we were to make it so you only can bring in x amount it could be its own list in the blacklist.yml
limited-items:
- golden_apple:2
The message could be:
Hey sorry, you cannot bring more than 2 golden apple into the arena.
-
As for lore I guess the only option that would be possible would be lore-allowed: false
-
We could add a black-list-chest. Like class-chest?
You can simply bunker yourself with a few blocks... making "my items" really unusable in any type of arena. With a proper/clean design you could only allow up to 4 items I guess.