TechnicJelle / BlueMapOfflinePlayerMarkers

Minecraft Paper plugin and BlueMap addon that adds markers where players have logged off
Mozilla Public License 2.0
14 stars 8 forks source link

Request: Allow hiding banned players, and players with a permission set to 'false.' #40

Open Wolfie713 opened 5 months ago

Wolfie713 commented 5 months ago

Hopefully the title is easy enough to understand.

If a player gets banned, option (defaulting to true/on) prevents them from having an offline marker placed.

Same if the player has a permission associated with them (via group or directly) that allows them to be viewed (and defaults to it if they don't have the permission), but if they do and it's set to "false," then they don't leave an offline marker.

TechnicJelle commented 5 months ago

I like the banned option, but I'm not 100% sold on the permission node, yet. Is there any reason why hiding them from the map with a plugin like BMPC isn't enough?

Wolfie713 commented 5 months ago

A server might prefer to have a group (new players in a default group, for example) that doesn't get to have offline markers yet, or maybe the staff want to be able to go offline and not have their last location known. A permission can be applied to make this possible.

Also, BMPC requires knowing the username, which isn't always easy if the person is offline already. Recently had a few people join for the sole purpose of grieving, which is why the "ban" option was suggested. I saw how there are modes that hide their markers, so thought I would add in the permission node as an additional idea. Also, might not want to hide them when they're actually on the server, only when they are offline.

TechnicJelle commented 5 months ago

I've added the hiding of banned players in 6a240d8a53cdf76c06524fb888c96dbfb4d3da96 :+1:

I'll consider the permission node some more. Not that I'm against adding it after reading your reasoning, but I need to think of a good way to handle it. I usually don't do much with permissions, I try to stay away from them as much as possible, so I should look into them more in general, as well. Also in regard to whether they're available on other platforms (e.g. Fabric) as well.

Wolfie713 commented 5 months ago

With the permission thing, it could be done as a setting, but not sure how you would handle that outside of files for individual players.

The BMPC, unfortunately I've tested it), there's no way to affect a player who is already offline. Thus being able to add the permission (set to false) to a player, or a group that they are in. But the main goal is to be able to easily change their offline marker status even if they aren't online.

TechnicJelle commented 5 months ago

Yeah, there is an PR open on BMPC that adds support for changing the visibility of offline players, but it hasn't been finished and tested yet. So that is on the planning, even though it's been going pretty slowly... Once that's added, would you consider that good enough as a replacement for the permission nodes? Or not?

Wolfie713 commented 5 months ago

Once that's added, would you consider that good enough as a replacement for the permission nodes?

I recommend also having it built in, but maybe intuitive enough to know if BMPC is installed and letting it handle it if it is. After all, someone might want certain players to not show when offline, but still appear when online. Though BMPC should control both just to make it consistent.

The goal is just some way to toggle it for offline players, so whatever is an easy way to do per player or automatically under certain circumstances (banned, part of a group or not part of a group, whatever you think would be easy/simple). Maybe allow multiple names to be toggled via one line? Just tossing ideas around. Filtering banned players (optional if possible) and picking/choosing who to hide (even when offline) is the minimum. Anything more is bonus.

TechnicJelle commented 5 months ago

I also just realised that if an offline player is hidden from the map through BMPC (once that's added), BMOPM won't automatically notice that and thus hide the offline player marker. So I'll have to add in some communication between them anyway, which is going to be a bit of a challenge to code properly...

Usually, I prefer keeping my plugins small and modular, and letting them implicitly work together through BlueMap, instead of explicitly directly together. This feature is likely going to have to do that anyway...

I think I'll put this issue on hold for the time being, until BMPC has got offline player support. Once that's in, I'll continue thinking about how to handle this all properly. I hope this feature is not urgent for you?

Wolfie713 commented 5 months ago

The part of them being (optionally on by default) works the most for now, as that's the high priority when you think about it. The other way(s) aren't important enough to call it an urgent need, and I'm sure anyone else wanting it would agree.