Extra Information

What this plugin does NOT do

  • VoidGuard does not control/prevent player placement of bedrock. You will need a (separate) build-restricting plugin for that, such as AntiBuild.
  • VoidGuard does not generate chunk data, it only modifies already-generated terrain. If you also need custom land generation with flat bedrock, I suggest checking out the powerful plugin called Terrain Control.

Hardcoded Values

The automatic world changing relies on the BukkitScheduler, either repeating every 400 ticks (~20 seconds at ideal TPS) with slower-auto-changes set to false or every 1200 ticks (~60 seconds/1 minute at ideal TPS) with slower-auto-changes set to true. This is after the initial activation wait of 100 ticks (~5 seconds at ideal TPS). During a plugin reload, the timer is stopped, and if the settings still grant the timer to run, then started again.

Player trespassing is tracked through player movement. To keep from spammming players with defined commands, any player that genuinely triggers the trespass commands has their name entered temporarily into a cooldown list. The cooldown list potentially has an entry cleared (asynchronously) every ~60 ticks.

Upcoming

  • Inbuilt TP command with fall damage prevention
  • More efficient world changing (hopefully)

Features not specifically planned, but may show up are

  • An option to block teleporting past the bedrock borders through enderpearl use
  • More counteractions against glitches related to getting past the bedrock borders
  • Hooking popular logging plugins

Background

Each of VoidGuard's features has a different "inspiration"/trigger for being included, but all the features are related to managing the (bedrock) borders between world and void. The plugin's name is connected to this theme.

  • The floor protection was originally to fulfill the purpose of preventing players on a creative server from breaking the bottom layer of the world.
  • Inhibiting the tree glitch-through was to both enforce the protection against creative users and give a benefit application to all servers/worlds where it's desirable to prevent this glitch.
  • The settings to fill holes in bedrock layers was added because even though vanilla minecraft now generates the outmost bedrock layers fully, this vanilla level of protection can be overridden through the features of other plugins or may simply not exist for older worlds.
  • The settings to remove bedrock "noise" were added as I've already been maintaining a personal fork of syamn's "FlatBedrock" plugin and it made sense to include similar functionality (the relevant code has similar structure, but is completely self-written).
  • Including trespass commands came from the desire to prevent people from either falling endlessly into void below in an open world or wandering around on top of the bedrock ceiling of the still-shorter-than-overworld Nether.