IndoorsCore
![[IMG]](/proxy/image?url=https%3A%2F%2Fi.imgur.com%2FwneVcsX.gif)
Plugin description
This plugin allows you to check if players are in confined areas! Great if you want to check whether your build has holes in it, whether prisoners are in their cells or simply just for an airlock experience! (If you're a safe distancing officer and want to make sure people are at home during a *certain pandemic*, this is the plugin for you too!) Works with Bukkit and Paper Minecraft servers.
Features
- Extremely customizable messages
- Formatting and color code supported messages
- Visualize areas with particles
- Get location of leaks with just one command!
Commands
/indoorsreload - Reloads the plugin's configuration files
/indoors
(optional flags) - Displays information about the room you're in
/indoors (player)
(optional flags) - Displays information about the room a player is in
/indoors [x] [y] [z]
(optional flags) - Displays information about the room around the coordinate in your world
/locateleaks
(optional flags) - Check your last tested room for leak locations
Flags
Flags are phrases added after a command to modify it. The flags should be used without the " " around it.
/indoors flags:
"a:" - Displays particles in the interior of the room
"b:" - Displays particles at the bounding blocks of the room
"d:50" - Sets the room's size to 50
"t:" - Display the time the operation took
/locateleaks flags:
"s:" - Displays particles at the leaky locations
"v:" - Makes the command verbose; will inform you of all leaky blocks instead of just one
Examples
/indoors 12 69 14
a: b: d:50 t:
Gets the room at 12,69,14 with a distance of 50 and displays particles that shows the air, bounding blocks. Then get the time that command took to execute.
/indoors
t:
Gets the room at your location with the default distance in settings.yml. Then get the time that command took to execute
/indoors Notch a: b:
Gets the room Notch is in with the default distance. Then display particles at the air and bounding blocks in his room.
Permissions
indoors.use - Allows players to use /indoors and /locateleaks
indoors.use.others - Allows players to check other players
indoors.use.xyz - Allows players to check coordinates
indoors.use.world.(worldname) - Only used if enabled in settings.yml, allows players to use /indoors in a certain world
indoors.admin - Allows players to use /indoorsreload
Configuration
The config is split into settings.yml, leakyblocks.yml and messages.yml
settings.yml
Code (YAML):
# What a line in messages.yml will start with if you don't want to use messageformat
# For example "Plugin > some message" is the default message
# You can change it to "some message" if you replace the default with the following in messages.yml
# example: "--some message"
negateformat
:
"--"
# The default taxicab distance from origin to check when using /indoors
# Values too small will result in large rooms being considered leaky
defaultdistance
: 10
# The absolute limit for distance when using the d: flag
# To prevent bad actors from trying to crash the server with large distances
maxdistance
: 75
# Sets if players require permission "indoors.use.world.(worldname)" in addition to indoors.use to use /indoors for locations in a certain world
worldpermission
: false
leakyblocks.yml
Code (YAML):
# Set if the following types of blocks are considered leaky (does not seal a room)
# Whether liquids are leaky
liquid
: true
# Whether passables are leaky
# A block is passable if it has no colliding parts that would prevent players from moving through it.
#Examples: Tall grass, flowers, signs, etc. are passable, but open doors, fence gates, trap doors, etc. are not because they still have parts that can be collided with
passable
: true
# Set the material name of blocks you want to consider as leaky
# Full list at https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# If a block's material name matches one of these, it is leaky
matches
:
-
"flower_pot"
# If a block's material name contains one of these phrases, it is leaky
contains
:
-
"door"
-
"fence"
messages.yml
Code (YAML):
# The format that all messages will follow unless negated with prefix stated in settings.yml
messageformat
:
"&eIndoors &8> &f{message}"
# General messages
nopermissions
:
"You can't use that command!"
usage
:
"Usage: {usage}"
# Messages for /indoors
invalidflag
:
"&cInvalid flag! Use format: a: b: d:50"
invaliddistance
:
"&cInvalid distance! Use flag d:(integer)!"
playernotfound
:
"There is no such player online!"
consolemsg
:
"Console can only use /indoors (target player)!"
invalidcoords
:
"Invalid coordinates! Use /indoors (x) (y) (z)"
checkmsg
:
"Room at {location}{player} , Distance: &e{distance}"
checkplayer
:
" &f(&e{username}&f)"
leakingmsg
:
"This room is &e{leaking}"
boundedmsg
:
"This room is bounded by &e{number}&f blocks"
containsmsg
:
"This room contains &e{number}&f blocks"
operationtime
:
"This operation took &e{time}&fms!"
maxdistanceerror
:
"&cThe maximum distance allowed in this server is {distance}!"
worldnopermissions
:
"You can't use that command for the world: &e{world}&f!"
# Messages for locateleaks
nohistory
:
"You don't have a search history. Use /indoors to get one"
invalidflaglocate
: '&cInvalid flag! Use &e/locateleaks s:&c to display particles at leak points!'
listleaks
:
"Displaying leaks at last queried room:"
noleaks
:
"The room is sealed!"
listelement
:
"--&e > &f{coordinates}"
nonverbose
:
"Only showing one result. Use &e/locateleaks v:&f for all"
Support
This plugin is in pre-release. It works smoothly but might lack features. Your help in providing suggestions will be greatly appreciated!
If you found a bug or have a suggestion,
add a comment
Note: This plugin is a generalized version of one of my future projects. If you want a space airlock experience plugin, keep an eye out for my future
resources (;
Satisfied? Leave a review!