BedCheck: Bed query and protection

Hate when you die only to find out someone's removed your bed, and you're now leagues from your home? BedCheck can stop that.

Want to know who has a bed there, before you remove it? BedCheck can tell you, with the right tool.

Full feature list

  • Check a bed to see whose it is.
  • Protect bed breaking (by players):
    • so they are only removable if it's one's own spawn bed.
    • so they are only removable if it's no one else's bed (the default).
  • Teleport back to your home bed, with a tool.
  • For Admins:
    • List every user's bed on the server
    • Teleport to a specific user's bed
    • Change and save config from the console/chat line
    • Can be optimized for large servers.

Some Permissions plugin is recommended, but not required.


Two main configuration items, the tools required to right-click on a bed and get the special features. Two other new game rules, and one optimizer.

Note that you must use the string name of the tool, not the item #, as Bukkit is denigrating any use of hard-coded item numbers. If you need the formal name, look it up here. Upper/lower case doesn't matter, but make sure to include the underscore ('_') if it is needed.

Bed Check

tool.bedcheck: if you right-click a bed with this tool, it will tell you if it's your bed, and if so, if it's also anyone else's bed. Yes, it works for double beds, and most of the time for triple beds, but can start getting confused in that case.

Related Permissions

  • bedcheck.own: if set, you can check if it's your own bed. If not set, you will sleep in the bed.
    • Default: true
  • bedcheck.all: if set, you can bedcheck any bed, not only your own.
    • Default: op


tool.teleport: if you right click any bed with this tool, it will teleport you to your spawn bed. Yes, this is nearly equivalent to many "home" commands, but I had to implement during testing so I left it in there. If you're going to use this, make sure you don't right-click the bed with anything else first, or else you will reset your spawn and won't be able to go back to your old bed.


bedcheck.teleport: if set, you can use BedCheck to teleport to your home bed. Default: op


breakrule.nooneelse - if true, players may not break a bed if any other player has their spawn set there. Does not reveal who's bed it is if triggered. Honestly this should have been built into multiplayer Minecraft from the start. If you disagree, set to false.

breakrule.mustbeown - if true, players may only break a bed if they have their spawn set there. Does mean if they place a bed then decide to move it, they have to sleep there first, so it can be a bother when user can't easily build more beds or it's daytime. If only this rule is set, one can break your own bed even if other users have their spawn there too.

These rules may be set independently. Turn off both rules to go back to vanilla Minecraft rules.

Yes, these rules don't protect from other bed-removing events like explosions. That said, you can use AntiCreeper to set an explosion blacklist to protect beds.


bedbreak.others: overrides nooneelse so you can break anyone's bed. Default: op

bedbreak.beds: overrides mustbeown so you can break any bed. Default: op


If you find that it's taking too long to run bedchecks (when all is set or others rule active) because you have a large server, you can set this variable to reduce the list of users whose beds are checked. Effectively, can be read as "your bed is not protected if you haven't logged in for X days" or "I don't care to know if it's the bed of a user who hasn't logged in for X days". Does not affect bc list command.

maxLoginAge: the number of days-since-last-login beyond which bedcheck.all or nooneelse will not report/protect.


  check: WOOL
  teleport: STICK

  nooneelse: true
  mustbeown: false


All BedCheck commands begin with bc.

  • bc list : lists users' beds, all those who ever logged into your server. Yes, this can get long, but Minecraft chat has scrolling now.
  • bc tp <playerName>: teleports to the supplied player's bed. Player need not be online.
  • More bc commands to modify configuration:
    • print - prints only what you've got in your config file, not defaults
    • tool [check|teleport <materialString>] - sets tool to provided material
      • with no args, just prints current tools
    • rule [[mustbe]own|[noone]else true|false] - sets rules
      • with no args, just prints current rule settings, including defaults
      • "own" or "mustbeown" are both accepted.
      • "else" or "nooneelse" are both accepted
    • reload - reloads config file from disk if you just were experimenting with changes
    • save -saves your changes to disk

Permission: bedcheck.admin Default: op

Future functions:

Any ideas?


Posts Quoted:
Clear All Quotes

About This Project



Recent Files