Double Doors Server
velocity-1.4.9A plugin that opens mirrored double doors together, with low-latency syncing and optional compatibility handling for common server stacks.
velocity-1.4.9latestDouble Doors Velocity 1.4.9Sep 18, 2026 Velocity for Double Doors Server 1.4.9. more details belowpaper-1.4.9Double Doors Paper 1.4.9Sep 18, 2026 DoubleDoors v1.4.9 Release Notes
Release date: 2026-09-18Highlights
- Full support for Minecraft 26.3, including Poplar doors, trapdoors, and fence gates. - Resolved WorldGuard compatibility issues on newer releases by addingRegionQueryfallback for build permission checks. - Integrated search functionality across the official documentation website.Added
- Minecraft 26.3 support (v26_3_xversion bridge implementation). - Poplar wood type support for doors, trapdoors, and fence gates. - Algolia DocSearch integration on the documentation website. - Environment file support (.env.example) for website development tooling.Changed
- Updated GitHub publish workflow to dynamically read supported game versions fromassets/actions/publish/game_versions.txt. - RefactoredProtectionCompatunit tests with a dedicatedWorldGuardPluginstub. - Clarified supported platform and plugin version ranges in the Bukkit compatibility documentation.Fixed
- Fixed WorldGuard build-permission compatibility when legacyWorldGuardPlugin.canBuild()method is absent in newer WorldGuard versions. - Fixed Fence Gates's redstone handler when powered by multiple redstone sources.Breaking Changes
None.Extended Release Notes
<details> <summary>Developer Notes</summary> <ul> <li>Added <code>src/main/java-v26_3_x</code> version bridge implementation and unit tests.</li> <li>Updated Paper dev bundle dependency to 26.3.</li> <li>Added <code>RegionQuery.testState(..., Flags.BUILD)</code> fallback logic in <code>ProtectionCompat</code> for WorldGuard.</li> <li>Added comprehensive unit tests for <code>ProtectionCompat</code>.</li> <li>Updated CodeRabbit and Renovate configuration.</li> </ul> </details>Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Replace the old jar(s) with the new release artifact(s). 3. Start the server once to generate or update configuration files. 4. Review and adjust new config keys. 5. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot: doubledoors-bukkit-1.4.9.jar - Paper/Purpur/Folia: doubledoors-paper-1.4.9.jar - Velocity: doubledoors-velocity-1.4.9.jarbukkit-1.4.9Double Doors Bukkit 1.4.9Sep 18, 2026 DoubleDoors v1.4.9 Release Notes
Release date: 2026-09-18Highlights
- Full support for Minecraft 26.3, including Poplar doors, trapdoors, and fence gates. - Resolved WorldGuard compatibility issues on newer releases by addingRegionQueryfallback for build permission checks. - Integrated search functionality across the official documentation website.Added
- Minecraft 26.3 support (v26_3_xversion bridge implementation). - Poplar wood type support for doors, trapdoors, and fence gates. - Algolia DocSearch integration on the documentation website. - Environment file support (.env.example) for website development tooling.Changed
- Updated GitHub publish workflow to dynamically read supported game versions fromassets/actions/publish/game_versions.txt. - RefactoredProtectionCompatunit tests with a dedicatedWorldGuardPluginstub. - Clarified supported platform and plugin version ranges in the Bukkit compatibility documentation.Fixed
- Fixed WorldGuard build-permission compatibility when legacyWorldGuardPlugin.canBuild()method is absent in newer WorldGuard versions. - Fixed Fence Gates's redstone handler when powered by multiple redstone sources.Breaking Changes
None.Extended Release Notes
<details> <summary>Developer Notes</summary> <ul> <li>Added <code>src/main/java-v26_3_x</code> version bridge implementation and unit tests.</li> <li>Updated Paper dev bundle dependency to 26.3.</li> <li>Added <code>RegionQuery.testState(..., Flags.BUILD)</code> fallback logic in <code>ProtectionCompat</code> for WorldGuard.</li> <li>Added comprehensive unit tests for <code>ProtectionCompat</code>.</li> <li>Updated CodeRabbit and Renovate configuration.</li> </ul> </details>Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Replace the old jar(s) with the new release artifact(s). 3. Start the server once to generate or update configuration files. 4. Review and adjust new config keys. 5. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot: doubledoors-bukkit-1.4.9.jar - Paper/Purpur/Folia: doubledoors-paper-1.4.9.jar - Velocity: doubledoors-velocity-1.4.9.jarvelocity-1.4.8Double Doors Velocity 1.4.8Aug 23, 2026 Velocity for Double Doors Server 1.4.8. more details belowpaper-1.4.8Double Doors Paper 1.4.8Aug 23, 2026 DoubleDoors v1.4.8 Release Notes
Release date: 2026-08-23Highlights
- Velocity plugin now auto-downloads SQL dependencies on first start with SHA-256 verification, reducing jar size and simplifying updates. - Protection integrations (GriefPrevention, WorldGuard) now fail closed instead of fail open, improving security. - Telemetry cleanup: removed stale metrics, added per-player locale and update-checker tracking.Added
- Automatic SQL library downloader for Velocity — sqlite-jdbc, mysql-connector-j, and HikariCP are fetched from Maven Central, checksum-verified, and cached underplugins/doubledoors-velocity/libs/. - Per-player locale metric reporting to FastStats.Changed
- ChangedProtectionCompatfrom fail-open to fail-closed when GriefPrevention or WorldGuard checks cannot be resolved. Absent integrations are still bypassed. - Changed Velocity default SQLite JDBC URL from absolute to relative (jdbc:sqlite:plugins/DoubleDoors/doubledoors.db). Absolute paths are still recommended for proxyBukkit sharing. - Removed bundled SQL libraries from the Velocity jar; they are now downloaded at runtime. - Updated FastStats public URL to
https://faststats.dev/project/double-doors-server.Fixed
- Fixed FastStats metric collection invoking Bukkit APIs from asynchronous threads;per_player_localesandupdate_checkerare now snapshotted on the main thread, preventing corrupted or failed telemetry submissions. - Fixed GriefPrevention and WorldGuard integration checks logging at warning level instead of fine when checks fail. - Fixed unresolved GriefPrevention and WorldGuard reflection checks so configured protection rules deny safely. - Corrected configuration examples, safety guidance, and French and Brazilian Portuguese command translations.Breaking Changes
- Protection integrations now fail closed: if GriefPrevention or WorldGuard is installed but their APIs cannot be resolved, linked door interactions inside claims/regions will be blocked instead of allowed. If you rely on these integrations, verify they are up to date and functioning. - Velocity operators may see a brief delay on first startup while SQL libraries are downloaded. Subsequent starts use the cached JARs.Extended Release Notes
<details> <summary>Developer Notes</summary> <ul> <li>Migrated to Docusaurus documentation site with versioned 1.4 and 1.3 wiki snapshots.</li> <li>Fixed Renovate schedule.</li> <li>Telemetry cleanup — removed: <code>geyser_detected</code>, <code>worldguard_detected</code>, <code>griefprevention_detected</code>, <code>plugin_uptime_minutes</code>, <code>server_max_players</code>. Added: <code>update_checker</code>, <code>per_player_locales</code>. Changed: <code>recursive_opening</code> from boolean to number.</li> <li>Changed Velocity SQL dependencies from <code>implementation</code> to <code>compileOnly</code> and added runtime downloader with classpath injection.</li> <li>Added SHA-256 checksums for SQL dependency versions in <code>gradle.properties</code>.</li> <li>FastStats collectors no longer touch live Bukkit state: <code>FastStatsManager</code> now maintains main-thread-computed snapshots (refreshed every 60 s) that the async collectors read.</li> <li>Added unit test coverage for <code>ProtectionCompat</code> (including the fail-closed deny reasons and claim-manager fail-open behavior) and <code>FastStatsManager</code>.</li> <li>Cleaned up unused import in <code>ProtectionCompat</code>.</li> </ul> </details>Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Replace the old jar(s) with the new release artifact(s). 3. Start the server once to generate or update configuration files. 4. If using GriefPrevention or WorldGuard, ensure the plugins are installed and up to date. Their APIs must be resolvable or linked door interactions inside claims/regions will be blocked. 5. For Velocity: the first startup will download SQL libraries toplugins/doubledoors-velocity/libs/. Ensure the server has internet access on first start. 6. Review and adjust new config keys. 7. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot: doubledoors-bukkit-1.4.8.jar - Paper/Purpur/Folia: doubledoors-paper-1.4.8.jar - Velocity: doubledoors-velocity-1.4.8.jarbukkit-1.4.8Double Doors Bukkit 1.4.8Aug 23, 2026 DoubleDoors v1.4.8 Release Notes
Release date: 2026-08-23Highlights
- Velocity plugin now auto-downloads SQL dependencies on first start with SHA-256 verification, reducing jar size and simplifying updates. - Protection integrations (GriefPrevention, WorldGuard) now fail closed instead of fail open, improving security. - Telemetry cleanup: removed stale metrics, added per-player locale and update-checker tracking.Added
- Automatic SQL library downloader for Velocity — sqlite-jdbc, mysql-connector-j, and HikariCP are fetched from Maven Central, checksum-verified, and cached underplugins/doubledoors-velocity/libs/. - Per-player locale metric reporting to FastStats.Changed
- ChangedProtectionCompatfrom fail-open to fail-closed when GriefPrevention or WorldGuard checks cannot be resolved. Absent integrations are still bypassed. - Changed Velocity default SQLite JDBC URL from absolute to relative (jdbc:sqlite:plugins/DoubleDoors/doubledoors.db). Absolute paths are still recommended for proxyBukkit sharing. - Removed bundled SQL libraries from the Velocity jar; they are now downloaded at runtime. - Updated FastStats public URL to
https://faststats.dev/project/double-doors-server.Fixed
- Fixed FastStats metric collection invoking Bukkit APIs from asynchronous threads;per_player_localesandupdate_checkerare now snapshotted on the main thread, preventing corrupted or failed telemetry submissions. - Fixed GriefPrevention and WorldGuard integration checks logging at warning level instead of fine when checks fail. - Fixed unresolved GriefPrevention and WorldGuard reflection checks so configured protection rules deny safely. - Corrected configuration examples, safety guidance, and French and Brazilian Portuguese command translations.Breaking Changes
- Protection integrations now fail closed: if GriefPrevention or WorldGuard is installed but their APIs cannot be resolved, linked door interactions inside claims/regions will be blocked instead of allowed. If you rely on these integrations, verify they are up to date and functioning. - Velocity operators may see a brief delay on first startup while SQL libraries are downloaded. Subsequent starts use the cached JARs.Extended Release Notes
<details> <summary>Developer Notes</summary> <ul> <li>Migrated to Docusaurus documentation site with versioned 1.4 and 1.3 wiki snapshots.</li> <li>Fixed Renovate schedule.</li> <li>Telemetry cleanup — removed: <code>geyser_detected</code>, <code>worldguard_detected</code>, <code>griefprevention_detected</code>, <code>plugin_uptime_minutes</code>, <code>server_max_players</code>. Added: <code>update_checker</code>, <code>per_player_locales</code>. Changed: <code>recursive_opening</code> from boolean to number.</li> <li>Changed Velocity SQL dependencies from <code>implementation</code> to <code>compileOnly</code> and added runtime downloader with classpath injection.</li> <li>Added SHA-256 checksums for SQL dependency versions in <code>gradle.properties</code>.</li> <li>FastStats collectors no longer touch live Bukkit state: <code>FastStatsManager</code> now maintains main-thread-computed snapshots (refreshed every 60 s) that the async collectors read.</li> <li>Added unit test coverage for <code>ProtectionCompat</code> (including the fail-closed deny reasons and claim-manager fail-open behavior) and <code>FastStatsManager</code>.</li> <li>Cleaned up unused import in <code>ProtectionCompat</code>.</li> </ul> </details>Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Replace the old jar(s) with the new release artifact(s). 3. Start the server once to generate or update configuration files. 4. If using GriefPrevention or WorldGuard, ensure the plugins are installed and up to date. Their APIs must be resolvable or linked door interactions inside claims/regions will be blocked. 5. For Velocity: the first startup will download SQL libraries toplugins/doubledoors-velocity/libs/. Ensure the server has internet access on first start. 6. Review and adjust new config keys. 7. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot: doubledoors-bukkit-1.4.8.jar - Paper/Purpur/Folia: doubledoors-paper-1.4.8.jar - Velocity: doubledoors-velocity-1.4.8.jarvelocity-v1.4.7Double Doors Velocity 1.4.7Jul 19, 2026 Velocity for Double Doors Server 1.4.7. more details belowpaper-v1.4.7Double Doors Paper 1.4.7Jul 19, 2026 DoubleDoors v1.4.7 Release Notes
Release date: 2026-07-19Highlights
- Translation credit commands for locale contributors. - Improved SQL migration reliability and async persistence safety. - Redstone door sync now works correctly when recursive opening is disabled.Added
-/dd locale creditsand/dd locale credit <code>for listing translation credits. - Expanded FastStats metrics with anonymous server configuration, configured data-storage-type reporting, feature-use, integration, capacity, and uptime metrics, plus automatic error tracking. - Custom translation file support — setlanguage: customin config.yml, then editplugins/DoubleDoors/custom_lang.json(auto-generated from en_US on first use). Re-reads on/dd reload.Changed
- Separated Paper/Purpur/Folia artifacts from Bukkit/Spigot artifacts. - Added a GitHub Actions CI workflow that builds the project on pushes and pull requests. - Ensured SQL schema migrations add newer preference and proxy columns on existing SQLite databases as well as other SQL dialects. - Bypassed WorldGuard region allow/deny filtering when region lookup is unavailable instead of treating it as an empty region set. - Preserved custom openable handling in API-triggered linked openings. - Updated help command output to look cleaner.Fixed
- Ensured YAML-to-SQL migration success is reported only after the migration marker is persisted. - Preserved newer queued YAML player-preference saves when an older asynchronous save batch completes. - Kept redstone-triggered double-door synchronization active for ordinary doors when recursive opening is disabled. - Prevented redstone signal loss on one source from closing doors and fence gates that are still independently powered by another signal.Breaking Changes
None.Extended Release Notes
<details> <summary>Developer Notes</summary> <ul> <li>Removed unused dependencies.</li> <li>Moved from Maven to Gradle Kotlin DSL.</li> <li>Refactored Release Notes structure</li> <li>Moved from Dependabot to Renovate</li> <li>Changed the language structure (see [defaults.json](https://github.com/SzaBee13 /double-doors-server/tree/v1.4.7/core/src/main/resources/lang/defaults.json))</li> <li>Added a compact Paper/Purpur/Folia artifact that downloads SQL libraries through Paper at startup; the Bukkit/Spigot artifact remains self-contained.</li> <li>Refactored translation loading to support a custom file path independent of the locale system.</li> </ul> </details>Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Ensure your server runs Java 25 or later. (Already a requirement on 26.1+ for clients and servers) 3. Replace the old jar(s) with the new release artifact(s). 4. Start the server once to generate or update configuration files. 5. Review and adjust new config keys. 6. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot: doubledoors-bukkit-1.4.7.jar - Paper/Purpur/Folia: doubledoors-paper-1.4.7.jar - Velocity: doubledoors-velocity-1.4.7.jarbukkit-v1.4.7Double Doors Bukkit 1.4.7Jul 19, 2026 DoubleDoors v1.4.7 Release Notes
Release date: 2026-07-19Highlights
- Translation credit commands for locale contributors. - Improved SQL migration reliability and async persistence safety. - Redstone door sync now works correctly when recursive opening is disabled.Added
-/dd locale creditsand/dd locale credit <code>for listing translation credits. - Expanded FastStats metrics with anonymous server configuration, configured data-storage-type reporting, feature-use, integration, capacity, and uptime metrics, plus automatic error tracking. - Custom translation file support — setlanguage: customin config.yml, then editplugins/DoubleDoors/custom_lang.json(auto-generated from en_US on first use). Re-reads on/dd reload.Changed
- Separated Paper/Purpur/Folia artifacts from Bukkit/Spigot artifacts. - Added a GitHub Actions CI workflow that builds the project on pushes and pull requests. - Ensured SQL schema migrations add newer preference and proxy columns on existing SQLite databases as well as other SQL dialects. - Bypassed WorldGuard region allow/deny filtering when region lookup is unavailable instead of treating it as an empty region set. - Preserved custom openable handling in API-triggered linked openings. - Updated help command output to look cleaner.Fixed
- Ensured YAML-to-SQL migration success is reported only after the migration marker is persisted. - Preserved newer queued YAML player-preference saves when an older asynchronous save batch completes. - Kept redstone-triggered double-door synchronization active for ordinary doors when recursive opening is disabled. - Prevented redstone signal loss on one source from closing doors and fence gates that are still independently powered by another signal.Breaking Changes
None.Extended Release Notes
<details> <summary>Developer Notes</summary> <ul> <li>Removed unused dependencies.</li> <li>Moved from Maven to Gradle Kotlin DSL.</li> <li>Refactored Release Notes structure</li> <li>Moved from Dependabot to Renovate</li> <li>Changed the language structure (see [defaults.json](https://github.com/SzaBee13 /double-doors-server/tree/v1.4.7/core/src/main/resources/lang/defaults.json))</li> <li>Added a compact Paper/Purpur/Folia artifact that downloads SQL libraries through Paper at startup; the Bukkit/Spigot artifact remains self-contained.</li> <li>Refactored translation loading to support a custom file path independent of the locale system.</li> </ul> </details>Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Ensure your server runs Java 25 or later. (Already a requirement on 26.1+ for clients and servers) 3. Replace the old jar(s) with the new release artifact(s). 4. Start the server once to generate or update configuration files. 5. Review and adjust new config keys. 6. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot: doubledoors-bukkit-1.4.7.jar - Paper/Purpur/Folia: doubledoors-paper-1.4.7.jar - Velocity: doubledoors-velocity-1.4.7.jarvelocity-v1.4.6Double Doors Velocity 1.4.6Jul 3, 2026 Velocity for Double Doors Server 1.4.6. more details belowbukkit-v1.4.6Double Doors Bukkit 1.4.6Jul 3, 2026 DoubleDoors v1.4.6 Release Notes
Release date: 2026-07-03Highlights
- Per-player locale overrides via/dd locale <code>when enabled in config. - Locale preference is persisted and syncs across servers through SQL.Added
-perPlayerLocaleEnabledconfig toggle to allow or block the locale command. -/dd localecommand support for setting, viewing, and clearing a player's locale.Changed
- Renameddoubledoors-proxytodoubledoors-velocity. - Split shared DoubleDoors code into a newcoremodule for future loader support. - Moved the public API and translation contract intocoreso Bukkit stays loader-focused. - Optimized the Crowdin GitHub workflow to cancel superseded runs and sync locale files directly incore/src/main/resources/lang. - Updated Crowdin config/workflow to use direct translation paths incore/src/main/resources/lang/%locale_with_underscore%.jsonand keepes_409/es_419aliasing compatible.Fixed
- Hardened proxy JDBC driver detection for uppercase URL prefixes. - Reused the same schema connection during proxy heartbeat table initialization. - Added regression coverage for proxy SQL client URL handling. - Fixed SQL upsert statements in shared storage to support both SQLite (ON CONFLICT) and MySQL (ON DUPLICATE KEY), restoring SQL mode with default SQLite configuration. - Fixed Bukkit version bridge bootstrap class lookup so version-specific bridge loading works again. - Enforced thedoubledoors.localepermission for/dd locale. - Serialized claim-settings persistence writes and switched SQL claim updates to current-state writes to avoid async persistence races. - Ensured Velocity always closes the SQL client on shutdown, even if heartbeat initialization failed. - Removed pre-delay block-data reads from MONITOR listener paths by deferring knock-state reads and using material-only type gating in event handlers.Upgrade Guide
1. Back up your server folder and existing plugin data. 2. Replace the old jar(s) with the new release artifact(s). 3. Start the server once to generate or update configuration files. 4. Review and adjust new config keys. 5. Validate expected behavior in-game.Artifacts
- Bukkit/Spigot/Paper/Purpur: doubledoors-bukkit-1.4.6.jar - Velocity: doubledoors-velocity-1.4.6.jarNotes
- If you update the velocity proxy, you need to move the config directory in the plugins folder fromplugins/doubledoors-proxy/config.propertiestoplugins/doubledoors-velocity/config.properties.v1.4.5Double Doors Proxy 1.4.5Jun 17, 2026 Proxy companion for Double Doors Server 1.4.5. more details belowv1.4.4Double Doors Proxy 1.4.4May 25, 2026 Proxy companion for Double Doors Server 1.4.4. more details belowv1.4.3Double Doors Proxy 1.4.3May 17, 2026 Proxy companion for Double Doors Server 1.4.3. more details belowv1.4.2Double Doors Proxy 1.4.2May 11, 2026 Proxy companion for Double Doors Server 1.4.2. more details belowv1.4.1Double Doors Server 1.4.1May 7, 2026 DoubleDoors v1.4.1 Release Notes
Release date: 2026-05-07Highlights
- Added multiversion support, bringing back compatibility with Minecraft 1.21.X while keeping the current 26.1.X support.Added
- Added multiversion support for Minecraft 1.21.X, allowing users to run DoubleDoors on both 1.21.X and 26.1.X servers with the same plugin version. - Added tests to ensure compatibility across supported Minecraft versions - this will future-proof the plugin for new versions.Artifacts
- Bukkit/Spigot/Paper/Purpur: doubledoors-bukkit-1.4.1.jar - Optional proxy companion: doubledoors-proxy-1.4.1.jarNotes
This release focuses on providing multiversion support for Minecraft 1.21.X while maintaining compatibility with 26.1.X. Users can now run DoubleDoors on both versions without needing separate plugin versions. Please report any issues encountered to help us continue improving the plugin.v1.4.0Double Doors Proxy 1.4.0May 3, 2026 Proxy companion for Double Doors Server 1.4.0. more details belowv1.4.0-beta.1Double Doors Proxy 1.4.0-beta.1May 2, 2026 Proxy companion for Double Doors Server 1.4.0-beta.1. more details belowv1.3.4Double Doors Proxy 1.3.4Apr 26, 2026 Proxy companion for Double Doors Server 1.3.4. more details belowv1.3.3Double Doors Proxy 1.3.3Apr 23, 2026 Proxy companion for Double Doors Server 1.3.3. more details belowv1.3.2Double Doors Proxy 1.3.2Apr 8, 2026 Proxy companion for Double Doors Server 1.3.2. more details belowv1.3.1Double Doors Proxy 1.3.1Apr 6, 2026 Proxy companion for Double Doors Server 1.3.1. more details belowv1.3.0Double Doors Server 1.3.0Apr 5, 2026 DoubleDoors v1.3.0 Release Notes
Release date: 2026-04-05 (yyyy-mm-dd)Highlights
- Introduced a multi-module build structure with separate Bukkit and proxy artifacts. - Added optional shared SQL storage for player preferences and claim settings. - Added a new Velocity proxy companion plugin that writes heartbeat presence to shared SQL. - Added one-time YAML to SQL migration support when SQL mode is enabled.Added
- New module:bukkit(server plugin artifact). - New module:proxy(Velocity companion artifact). - New Bukkit storage layer for shared SQL: - Player preferences table (dd_player_preferences) - Claim settings table (dd_claim_settings) - Proxy presence table (dd_proxy_presence) - Metadata table (dd_meta) - New migration utility that can import existingplayers.ymlandclaims.ymlinto SQL. - New Bukkit config keys undersql: -enabled-jdbcUrl-username-password-migrateFromYaml-proxyHeartbeatMaxAgeSeconds- New proxy config keys: -sql.enabled-sql.jdbcUrl-sql.username-sql.password-sql.proxyId-sql.heartbeatSecondsChanged
- Repository/build layout moved from single-module to Maven parent with module children. - Build output now produces distinct jars for Bukkit and proxy components. - Bukkit can now detect recent proxy presence through SQL heartbeat and apply Geyser/Floodgate-related behavior consistently across network setups.Fixed
- No specific standalone bug-fix commits were tagged for this release; the release mainly focuses on architecture and storage enhancements.Breaking Changes
- Build and packaging changed from a single artifact to module-specific artifacts. - Existing deployment automation that expected the old artifact path/name must be updated. - SQL mode introduces new required configuration correctness for shared database usage.Upgrade Guide
1. Back up your current plugin jars and theplugins/DoubleDoorsdirectory. 2. Replace the old Bukkit jar withdoubledoors-bukkit-3.0.0.jar. 3. If you run Velocity and want proxy heartbeat detection, also deploydoubledoors-proxy-3.0.0.jar. 4. Configure SQL in Bukkitconfig.yml(sql.enabled=trueand matching JDBC settings). 5. Configure proxyconfig.propertieswith the same SQL database if proxy heartbeat is desired. 6. Keepsql.migrateFromYaml=truefor first startup to import legacy YAML data. 7. Start server/proxy and verify startup logs for SQL schema initialization and migration completion. 8. After successful migration, keep backups of old YAML files until you confirm data is intact.Artifacts
- Bukkit/Spigot/Paper/Purpur:doubledoors-bukkit-3.0.0.jar- Velocity proxy companion:doubledoors-proxy-3.0.0.jarNotes
- For shared proxy/server SQL setups, use an absolute SQLite path or MySQL to ensure both processes use the same database. - If SQL is disabled, legacy YAML persistence remains active.v1.2.2Double Doors Server 1.2.2Mar 26, 2026 DoubleDoors v1.2.2
Release date: 2026-03-26Highlights
- Migrated the plugin Java package namespace fromszabee13.doubledoorstome.szabee.doubledoors. - Updated plugin bootstrap metadata to use the new main class path. - Refreshed build and automation configuration for current repository workflows.Added
- Added GitHub Dependabot configuration at.github/dependabot.ymlfor weekly Maven and GitHub Actions updates. - Added Spigot snapshot repository declaration in Maven build configuration.Changed
- Maven groupId changed tome.szabee.doubledoors. - Java sources moved fromsrc/main/java/szabee13/doubledoors/...tosrc/main/java/me/szabee/doubledoors/.... - All package declarations/imports updated to match the new namespace. -plugin.ymlmainclass changed tome.szabee.doubledoors.DoubleDoors. - Maven provided API dependency switched fromio.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOTtoorg.spigotmc:spigot-api:26.1-R0.1-SNAPSHOT. - CI publish workflow updated to use JDK 25 and Java metadata set to 25. - CI publish workflow game-version metadata narrowed to26.1. -.gitignoreadjusted to allow tracking.vscode/extensions.jsonwhile ignoring other.vscodefiles. -.gitignoreupdated to ignoretest/in addition totests/. - Internal Copilot workspace documentation package layout updated to the new namespace.Fixed
- Aligned package directory layout with declared Java package names to avoid namespace drift.Compatibility
- Java runtime/tooling in CI metadata:25. - Spigot API dependency target:26.1-R0.1-SNAPSHOT. - Plugin API version inplugin.yml:1.21.Upgrade Notes
1. Replace old jar with the new v1.2.2 jar. 2. If you maintain custom tooling/scripts, update any hardcoded references fromszabee13.doubledoorstome.szabee.doubledoors. 3. Verify your publish/CI environment is compatible with Java 25 settings. 4. Start server and validate plugin load plus command registration.v1.2.1Double Doors Server 1.2.1Mar 19, 2026 DoubleDoors v1.2.1
Release date: 2026-03-19Highlights
- Expanded bundled localization coverage with many new regional language files. - Added language alias support (for example,en->en_US) for easier configuration. - Improved translation loading to support nested bundled/custom language paths.Added
- New translation metadata file:lang/defaults.json. - New bundled language sets: - English:en_AU,en_CA,en_GB,en_IE,en_IN,en_NZ,en_US,en_ZA- French:fr_BE,fr_CA,fr_CH,fr_CI,fr_CM,fr_DZ,fr_FR,fr_GA,fr_HT,fr_LU,fr_MC,fr_MG,fr_SN,fr_TN- German:de_AT,de_CH,de_DE- Portuguese:pt_BR,pt_PT- Spanish:es_409,es_ES- Hungarian:hu_HU- Packaging metadata for GitHub Packages in MavendistributionManagement.Changed
- Translation resolution is now metadata-driven via: -languageAliases(maps short/variant codes to canonical language codes) -bundledLanguagePaths(maps language codes to bundled file locations) - Config documentation forlanguagenow explicitly documents alias usage and language folder layout. - Bundled English files were reorganized underlang/english/.Fixed
- Fixed language selection edge cases where only direct top-level language files were detected. - Improved fallback behavior when custom or bundled language files are missing in expected locations.Compatibility
- Minecraft/Paper:1.21+- Optional plugins:LuckPerms,GriefPrevention,Geyser-Spigot,floodgatePermissions
-doubledoors.use-doubledoors.toggle-doubledoors.reload-doubledoors.server-toggle-doubledoors.griefConfig Notes
- No new config keys were added. -languagenow supports both full locale codes and aliases (example:en,fr,de,pt,es,hu). - Custom language files can be stored inplugins/DoubleDoors/lang/and subfolders.Upgrade Notes
1. Replace old jar with new jar (doubledoors-1.2.1.jar). 2. Start or restart the server once so bundled language resources are available. 3. Setlanguageinconfig.ymlusing either a full code (for examplefr_FR) or an alias (for examplefr). 4. Run/doubledoors reloadafter updating language files.Known Issues
- If a translation file is invalid JSON or missing keys, English fallback values are used.Downloads
-doubledoors-1.2.1.jarv1.2.0Double Doors Server 1.2.0Mar 18, 2026 DoubleDoors v1.2.0
Release date: 2026-03-18Highlights
- Added full translation support for command and startup/shutdown messages. - Server owners can now load custom language files fromplugins/DoubleDoors/lang. - Added language selection via config and reload support.Added
- New translation system with key-based message lookup and English fallback. - Bundled default translation file atlang/en_US.jsoninside the plugin jar. - Runtime custom language loading fromplugins/DoubleDoors/lang/<language>.json. - New config key:language.Changed
-/doubledoors reloadnow reloads translations and reports active language. - Command feedback strings now use translation keys instead of hardcoded text.Fixed
- Fixed a bug where villagers would only close one half of a double door after walking through.Compatibility
- Minecraft/Paper:1.21+- Optional plugins:LuckPerms,GriefPrevention,Geyser-Spigot,floodgatePermissions
-doubledoors.use-doubledoors.toggle-doubledoors.reload-doubledoors.server-toggle-doubledoors.griefConfig Notes
- New key:language(default:en_US). - Custom language files should be placed inplugins/DoubleDoors/lang.Upgrade Notes
1. Replace old jar with new jar (doubledoors-1.2.0.jar). 2. Start the server once to generate/updateplugins/DoubleDoors/lang/en_US.json. 3. Add custom translation files toplugins/DoubleDoors/lang/. 4. Setlanguageinconfig.yml, then run/doubledoors reload.Known Issues
- If a translation file is invalid JSON or missing keys, English fallback values are used.Downloads
-doubledoors-1.2.0.jarv1.1.2Double Doors Server 1.1.2Mar 17, 2026 DoubleDoors v1.1.2
Release date: 2026-03-17Highlights
- Fixed villagers only closing one door when pathfinding through linked doors. - Ensures both linked doors open AND close synchronously for villager pathfinding.Added
None.Changed
None.Fixed
- Villager door synchronization: Villagers now correctly close both linked doors when pathfinding. Previously, only one door in a pair would close, leaving the other open. This was caused by redundant event handling of the top-half door blocks.Compatibility
- Minecraft/Paper:1.21+- Optional plugins:LuckPerms,GriefPrevention,Geyser-Spigot,floodgatePermissions
-doubledoors.use-doubledoors.toggle-doubledoors.reloadConfig Notes
No config changes required.Upgrade Notes
1. Replace old jar with new jar (doubledoors-1.1.2.jar). 2. Server will auto-load the updated plugin. 3. Run/doubledoors reloador restart the server to apply changes. 4. No player preference reset needed; existing configuration is preserved.Known Issues
None reported.v1.1.1Double Doors Server 1.1.1Mar 17, 2026 DoubleDoors v1.1.1
Release date: 2026-03-17Highlights
- New/ddshort alias — all/doubledoorssub-commands now work as/dd <sub-command>. - New/dd grief villagers— claim owners can block or allow villager linked-door behaviour inside their individual GriefPrevention claims.Added
-/ddalias registered inplugin.ymlfor thedoubledoorscommand; works identically to/doubledoorsfor every sub-command. -grief villagerssub-command: standing inside a GriefPrevention claim, a player withdoubledoors.griefpermission (default:true) can toggle whether villagers trigger linked-door opening in that claim. - The setting survives server restarts — stored inplugins/DoubleDoors/claims.yml. - Requires the caller to have build trust in the claim (checked via existing GriefPrevention reflection hooks). - If GriefPrevention is not installed or the player is in the wilderness, the command returns an informational message and makes no change. -doubledoors.griefpermission node (defaulttrue) controlling access to the new sub-command. - NewClaimSettingsclass (configpackage) managing per-claim YAML persistence (claims.yml); writes are always performed asynchronously. -ProtectionCompat.getClaimIdAt(plugin, block)— resolves the GriefPrevention claim ID at a block location via reflection. -ProtectionCompat.isClaimManagerAt(plugin, player, block)— checks whether a player has build trust in the claim at a block location.Changed
- Usage hint messages now use the actual command label (/ddor/doubledoors) so they stay accurate regardless of which alias the player typed. -/doubledoors reloadalso reloads claim settings fromclaims.yml. - Villager linked-door events (EntityInteractEvent,EntityChangeBlockEvent) now skip linked-door mirroring for any door whose claim has villager access blocked.Compatibility
- Minecraft/Paper API:1.21- Optional integrations: -LuckPermsfor permission control -GriefPreventionfor claim-aware linked-door checks (and the new per-claim villager toggle) -Geyser-Spigot/floodgatefor Bedrock proxy environmentsv1.1.0Double Doors Server 1.1.0Mar 16, 2026 DoubleDoors v1.1.0
Release date: 2026-03-16Added
Per-Player Persistent Preferences
Players can now independently configure which block types trigger linked behavior. Preferences survive server restarts — they are saved toplugins/DoubleDoors/players.yml. New command sub-arguments for/doubledoors toggle: | Command | Effect | |---|---| |/doubledoors toggle| Toggle all linked-opening behavior on/off | |/doubledoors toggle doors| Toggle door linking only | |/doubledoors toggle gates| Toggle fence-gate linking only | |/doubledoors toggle trapdoors| Toggle trapdoor linking only | Tab completion is available for all sub-arguments.Better Villager Support
- AddedenableVillagerLinkedDoorsconfig option (defaulttrue) — set tofalseto prevent villager pathfinding from triggering linked-door logic. - Villager-triggered events now use a 2-tick scheduling delay (was 1 tick) so the block data has fully settled in the villager AI before the partner block is mirrored. - Both the open and the close direction are captured:EntityInteractEventhandles the open direction;EntityChangeBlockEventhandles the close direction when the villager passes through and the door swings shut.Improved Gate & Trapdoor Config
enableDoors,enableFenceGates, andenableTrapdoorsare now respected at the level of both the server config and per-player preferences, giving server admins fine-grained control over which block types are linkable.Changed
- Redstone event handling now delegates theisEnabledTypecheck to the shared static helper inDoorInteractListenerrather than duplicating the logic. -/doubledoors reloadnow also reloadsplayers.ymlin addition toconfig.yml.Compatibility
- Minecraft/Paper API:1.21- Optional integrations: -LuckPermsfor permission control -GriefPreventionfor claim-aware linked-door checks -Geyser-Spigot/floodgatefor Bedrock proxy environmentsv1.0.1Double Doors Server 1.0.1Mar 13, 2026 DoubleDoors v1.0.1
Release date: 2026-03-13Fixed
- Compilation error: replaced invalidBisected.Half.LOWERwith the correctBisected.Half.BOTTOMenum constant from the Bukkit/Paper block-data API ([DoorUtil.java](../../src/main/java/szabee13/doubledoors/util/DoorUtil.java)).Compatibility
- Minecraft/Paper API:1.21- Optional integrations: -LuckPermsfor permission control -GriefPreventionfor claim-aware linked-door checks -Geyser-Spigot/floodgatefor Bedrock proxy environmentsv1.0.0Double Doors Server 1.0.0Mar 13, 2026 DoubleDoors v1.0.0
Release date: 2026-03-13Highlights
- Initial public release of DoubleDoors for Paper. - Linked door sync is same-tick for responsive open/close behavior. - Mirrored double-door validation ensures only correct facing/hinge pairs are linked.Added
- Double-door partner detection for standard mirrored wooden/iron door setups. - Optional linked behavior for fence gates and trapdoors. - Command support: -/doubledoors reload-/doubledoors toggle- Per-player enable/disable state for plugin behavior.Changed
- Door linking was optimized to avoid scheduled next-tick sync. - Door pairing now prefers strict mirrored matching rather than broad block-chain behavior.Fixed
- Prevented accidental linking of unrelated doors that do not face as a valid pair. - Added duplicate interaction debounce to reduce repeated toggles from rapid duplicate interaction events. - Added compatibility checks for claim-protected linked doors when GriefPrevention is present.Compatibility
- Minecraft/Paper API:1.21- Optional integrations: -LuckPermsfor permission control -GriefPreventionfor claim-aware linked-door checks -Geyser-Spigot/floodgatefor Bedrock proxy environmentsPermissions
-doubledoors.use(default: true) -doubledoors.toggle(default: true) -doubledoors.reload(default: op)Default Config
-enableRecursiveOpening: true-recursiveOpeningMaxBlocksDistance: 10-enableDoors: true-enableFenceGates: true-enableTrapdoors: trueUpgrade Notes
1. Dropdoubledoors-1.0.0.jarinto the serverpluginsfolder. 2. Start or restart the server. 3. Reviewplugins/DoubleDoors/config.yml. 4. Ensure permission nodes are assigned as desired.Known Issues
- None currently documented.
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta