Skip to main content
Version: 1.4

Development and Releases

Local Build

Requirements:

  • Java 25+
  • Gradle

Build:

./gradlew build

Artifact:

  • bukkit/build/libs/doubledoors-bukkit-<version>.jar
  • velocity/build/libs/doubledoors-velocity-<version>.jar

Source Layout

  • bukkit/src/main/java-common/me/szabee/doubledoors/bukkit
  • bukkit/src/main/java-v26_2_x/me/szabee/doubledoors/bukkit/version
  • core/src/main/java/me/szabee/doubledoors
  • velocity/src/main/java/me/szabee/doubledoors/velocity
  • bukkit/src/main/resources/config.yml
  • bukkit/src/main/resources/plugin.yml

Coding Rules

  • Java 25+ features are acceptable.
  • Keep public methods documented.
  • Avoid wildcard imports.
  • Avoid direct block-state reads at MONITOR before scheduled delay.

Manual Test Focus

  1. Mirrored double door sync.
  2. Recursive gate/trapdoor components.
  3. Redstone-triggered state transitions.
  4. Villager open and close events.
  5. GriefPrevention claim boundary behavior.
  6. Per-player preference toggles and persistence.

Release Checklist

  1. Update version in gradle.properties.
  2. Update version in bukkit/src/main/resources/plugin.yml.
  3. Build with ./gradlew build.
  4. Smoke-test on Paper 1.21.
  5. Create release notes under releases/v&lt;major&gt;/&lt;minor&gt;/&lt;patch&gt;/RELEASE-NOTE.md.
  6. Publish a GitHub release with both built artifacts: bukkit/build/libs/doubledoors-bukkit-<version>.jar and velocity/build/libs/doubledoors-velocity-<version>.jar.

Documentation Checklist

  • Keep wiki configuration keys in sync with src/main/resources/config.yml.
  • Keep command/permission docs in sync with bukkit/src/main/resources/plugin.yml and command handler behavior.
  • Update troubleshooting page if behavior around recursive opening or compatibility changes.