promotional bannermobile promotional banner

Double Doors Server

A Bukkit/Spigot plugin that opens mirrored double doors together, with low-latency syncing and optional compatibility handling for common server stacks.

Double Doors

GitHub Release GitHub License GitHub Issues Modrinth Game Versions

A Bukkit/Spigot plugin that opens mirrored double doors together, with low-latency syncing and optional compatibility handling for common server stacks.

Features

  • Same-tick partner door sync (no scheduled 1-tick delay)
  • Strict mirrored pair matching for doors:
    • same door type
    • same facing direction
    • opposite hinge
    • side-by-side only
  • Optional recursive opening support for non-door openables (fence gates/trapdoors)
  • Per-player toggle: /doubledoors toggle
  • LuckPerms-friendly permission nodes
  • GriefPrevention compatibility check for linked-door claim access
  • Duplicate interaction debounce (helps packet duplication patterns seen with some Bedrock/Geyser flows)
  • Translation support via JSON language files (built-in + custom)

Compatibility

Geyser / Floodgate

  • Plugin declares soft-depends on Geyser-Spigot and floodgate.
  • A short duplicate-interaction debounce window is used to avoid rapid duplicate toggles on the same block.

LuckPerms

  • Works through standard Bukkit permissions, so LuckPerms applies automatically.
  • Use doubledoors.use to allow/deny linked opening behavior.

GriefPrevention

  • Plugin declares a soft-depend on GriefPrevention.
  • When present, linked-door interaction is checked against claim build permission before toggling the partner door.

Commands

  • /doubledoors reload - reload config
  • /doubledoors toggle - toggle behavior for yourself
  • /doubledoors server-toggle - toggle behavior server-wide

Permissions

  • doubledoors.use (default: true)
  • doubledoors.toggle (default: true)
  • doubledoors.reload (default: op)
  • doubledoors.server-toggle (default: op)

Config

src/main/resources/config.yml

  • enableRecursiveOpening (default: true)
  • recursiveOpeningMaxBlocksDistance (default: 10)
  • enableDoors (default: true)
  • enableFenceGates (default: true)
  • enableTrapdoors (default: true)
  • enableVillagerLinkedDoors (default: true)
  • serverWideEnabled (default: true)
  • language (default: en_US)

Language files:

  • Built-in fallback file: src/main/resources/lang/en_US.json
  • Runtime custom language folder: plugins/DoubleDoors/lang/
  • Set active language with language: <code> in config.yml (example: language: de_DE)
  • Custom files are JSON objects of key/value strings and override built-in messages when present.

Build

Requirements:

  • Java 21
  • Maven

Build command:

mvn -DskipTests package

Output jar is generated under target/.

License

Licensed under the GNU General Public License v3.0. See LICENSE.

The Double Doors Server Team

profile avatar
  • 1
    Projects
  • 132
    Downloads

Touch some grass please