A Minecraft Paper BlueMap addon that allows you to track entities on your map, with lots of filtering options.
Compatible with Paper 1.13+, just like BlueMap itself.
To reload this plugin, just reload BlueMap itself with /bluemap reload
.
The configuration for this plugin uses HOCON files.
In the plugins/BlueMapFilteredEntities
folder you should make a .conf
file for each BlueMap map you want to control,
with the map-id as the name.\
When you install this plugin for the first time, it will generate a template config for each registered BlueMap map.
You should delete the ones for the maps you don't want to show entities on.
The general format of this config is very similar to BlueMap's own built-in marker configuration, but instead of configuring specific markers, you have to configure filters.
The general idea is that you have one or more "filter-sets", which are kind of like categories.\ (These translate basically directly to BlueMap's own marker-sets.)\ You then define all your filter-sets inside a big list at the root of your configuration file(s).
Inside each filter-set, you define one or more filters, which are responsible for adding the specific markers for each entity.
This is the base of the file.
Every .conf file must have a single filter-sets
section at the root.
Inside this section, you can define your actual filter-sets.
filter-sets: {
# Filter sets go in here
}
A filter-set looks like this:
my-filter-set: {
label: "My Filter Set"
toggleable: true # Optional, default: true
default-hidden: true # Optional, default: true
filters: [
# Filters go in here
]
}
You might recognise this format from BlueMap's own marker configuration.
A single filter contains one or multiple properties, between a pair of curly brackes: { }
The different filters inside a filter-set are combined with OR logic, meaning that if any of the filters match, the entity will be matched.\ Inside each filter, the different conditions are combined with AND logic, meaning that all conditions must be met for the filter to match.
type: <string>
: The entity type.
name: <string>
: The name of the entity.
^
and $
to match the start and end of the string.name: "Villager"
will match any entity with "Villager" in its name,
while name: "^Villager$"
will only match entities named exactly "Villager".(?i)
at the start to make it case-insensitive.name: "(?i)villager"
will match entities named "villager", "Villager", "VILLAGER", etc.type
property.custom-name: <string>
: The custom name of the entity.
name
property.uuid: <string>
: The UUID of the entity.spawn-reason: <string>
: The reason the entity was spawned.
instance-of: <string>
: The class name of the entity.
min-x: <number>
: The minimum X coordinate of the entity.
max-x: <number>
: The maximum X coordinate of the entity.min-z: <number>
: The minimum Z coordinate of the entity.max-z: <number>
: The maximum Z coordinate of the entity.min-y: <number>
: The minimum Y coordinate of the entity.max-y: <number>
: The maximum Y coordinate of the entity.scoreboard-tags: <string[]>
: The scoreboard tags of the entity.
exclude: <filter[]>
: A list of filters that should not match.
All of these are optional, but you must have at least something in the filter.
Per filter, there are some other options that don't affect the filtering, but do affect the way matched entities are displayed on the map:
icon: <string>
: The icon to use for all the markers on the map that match this filter.
plugins/BlueMapFilteredEntities/icons
folder.anchor: <vector2>
: The anchor point of the icon
anchor: {x:24, y:24}
max-distance: <number>
: The maximum distance from the camera to show the markers.
popup-info-template: <string>
: The template for the popup info of the markers.
{}
around these are required):{type}
: The entity type.{name}
: The name of the entity.{uuid}
: The UUID of the entity.{spawn-reason}
: The reason the entity was spawned.{custom-name}
: The custom name of the entity.{x}
: The X coordinate of the entity.{y}
: The Y coordinate of the entity.{z}
: The Z coordinate of the entity.{world}
: The world the entity is in.{scoreboard-tags}
: The scoreboard tags of the entity.<br>
, \n
,
or a HOCON multiline string (triple quotes).popup-info-template: "{name} ({type})"
popup-info-template: """
{name}
Type: {type}
Location: {x}, {y}, {z}
"""
You should put the more specific filters first, and the more general filters last, because entities will only get caught by the first filter that matches them.\ This is especially important if you're using custom icons and popup info templates.\ You could also get around this by creating multiple filter-sets.
To get support with this plugin, join the BlueMap Discord server and ask your questions in #3rd-party-support. You're welcome to ping me, @TechnicJelle.
If you have a setup that you think is useful for others, please upload it somewhere and create a PR to add it to this list.
Make sure you include any icons as well, and credit the original creator if you didn't make them yourself.\ Make sure to have permission to use and distribute them! You could also link to where to get them.
I recommend creating a new repository for this.