LimitedNametags is a Bukkit plugin created by SupaHam, that adds the possibility to limit nametag view distance. It requires almost no setup, other than installing it and ProtocolLib in your server's plugins directory. Credit goes to gsand AKA Clippy in the Spigot community for bringing this concept of a plugin to me.
You can purchase this plugin over at SpigotMC, click here.
The idea of LimitedNametags is to provide a unique experience from the basic minecraft mechanic of nametag rendering. Although this server-side plugin does not necessarily change the client code, it does how ever plug in to the server platform known as Spigot.
I first implemented this mechanic on MCBall back in 2014 to replace the blank nametags. Blank nametags were made possible using 4 section signs as the player name (§§§§), leaving a little empty box above the player's head. Prior to that, all players were forced to sneak in order to hide nametags rendering behind walls, but that was just plain ugly and irritating. That just wasn't good enough, so after some research, I figured it out, and implemented the feature. Where you, as a player, couldn't see your opponent's nametags at all, but were able to see your teammates'. A few weeks ago, gsand reminded me of the idea, but with a radius based aspect, instead of "team" based, and here we are today, releasing LimitedNametags publicly. LimitedNametags can be used in many ways, not just a paintball server.
|limitednametags||limitednametags.cmd.reload||lt||Reloads the LimitedNametags configuration file and refreshes all online players.|
LimitedNametags provides configurable options for the user to tweak the plugin just the way they like. The configuration is currently per world to allow the user to change the functionality to their liking.
|worlds||Section||This section contains a list of world names that LimitedNametags should operate in.|
|worlds.<world>||Section||This section is named after a specific existing world that LimitedNametags should operate in. Use '*' (asterisk) to refer to all worlds.|
|worlds.<world>.enabled||Boolean||This boolean specifies whether LimitedNametags should use this world. This is simply a convenient method of telling the plugin to not use <world> without the user actually deleting the data.|
|(OUTDATED) worlds.<world>.nametag-radius||Double||This double specifies the view distance (in block units) that players should be able to see each other's nametags.|
|worlds.<world>.radius-groups||Section||This section specifies the radius groups used to default what radius a player gets based on their permission. If they don't have permission to any of the groups, LimitedNametags will fallback to the group called default, thus the default group must always be defined!|
|worlds.<world>.radius-groups.<groupName>||Double||This double specifies the radius of nametag visibility for players in this group. A radius group is applied to a player by giving them the permission node 'limitednametags.radius.<groupName>', where <groupName> is the same as this configuration key, except lowercased; meaning ABC would be abc. Please do not confuse this with group implementations provided by permission plugins.|
|worlds.<world>.team-name||String||This string specifies the team name that manages the nametag visibility function. This is a technical feature that you as a user do not need to worry about unless told so.|
worlds: # Tell LimitedNametags to operate in a world named 'world'. world: # Whether to enable this world, this is provided as a convenient option instead of having to remove the whole world configuration. enabled: true # Permission based groups to check for each player, with the default always given to the player. radius-groups: # default group to give all players, with a nametag visibility radius of 10 meters/blocks. This is required and always needs to be defined. default: 10.0 # vip group to give to players by giving them the permission 'limitednametags.radius.vip', with a nametag visibility radius of 20 meters/blocks. vip: 20.0 # client team name, don't worry about this unless told to. team-name: ltd-nt
worlds: # Tell LimitedNametags to operate in all loaded worlds. '*': enabled: false radius-groups: default: 10.0 vip: 20.0 team-name: ltd-nt # Tell LimitedNametags to operate in a world named 'world_the_end', and overwrite the default settings (asterisk configuration above). 'world_the_end': enabled: true radius-groups: default: 5.0 vip: 8.0 team-name: ltd-nt # Tell LimitedNametags to operate in a world named 'kitpvp', and overwrite the default settings (asterisk configuration above). 'kitpvp': enabled: true radius-groups: default: 16.0 vip: 20.0 team-name: ltd-nt