Tags
Creators
Details
0.0.6
Compatibility
Changes
Pocket Dimensions 0.0.6-ALPHA
Compatibility
- One jar now supports Minecraft 1.19.4 → 26.2 (Bukkit / Spigot / Paper / Purpur).
- All gamerules are resolved by name at runtime with fallbacks for the 1.21.11+ rule renames (
spawnMobs↔doMobSpawning,advanceWeather↔doWeatherCycle, and so on) — a future rule rename can no longer crash the plugin. - Default gamerules live in
config.yml(default-gamerules:— added to existing configs automatically). Unknown rules are skipped with a console warning instead of crashing.
Trust & Protection
- Owners grant trust tiers:
/pd trust <player> [builder|trusted],/pd untrust <player>— persisted per owner. - Visitors (untrusted players, even past invitees) can no longer build, break, open containers, use buckets or hurt the owner's mobs in someone else's dimension. Doors and buttons stay usable; explosions never break blocks inside dimensions.
- Trusted players can build and invite others into the dimension (co-op).
- Bypass:
pocketdimensions.bypass.protection· Global switch:features.trust-protection.
Dimension Settings & Generation
- New-dimension presets: FLAT (classic flat), VOID (empty world with a platform), NORMAL (terrain, random seed) — plus environments NORMAL / NETHER / THE_END. Global defaults in
dimension:*, per-player choice via/pd settingsor the menu. Applies only at creation; existing worlds are never regenerated. /pd setspawnsets the in-dimension spawn point for invites and first entries.- Item customization: custom model data, glow, optional crafting recipe (binds to the crafter), configurable interact cooldown, optional first-join handout.
- Entry/exit titles + sounds and owner entry notifications (per player:
pocketdimensions.feedback).
Economy (Vault) — disabled by default
- Install Vault + an economy plugin, set
economy.enabled: true, and you can charge a one-timecreation-costand configured borderupgradestiers (/pd upgrade). - Without Vault everything is free; upgrades remain a free, permission-gated tier system.
Admin Tools
/pdlist— every dimension with owner, loaded state, border and last seen./pdadmin delete <player> confirm(world and data),/pdadmin reset <player> confirm(world only),/pdadmin cleanup <days> confirm(inactive dimensions). All refuse while players are inside.- Entity cap warnings (
world-management.entity-cap).
GUI — /pd menu
Two-view inventory: travel in/out, trust management (left-click cycles tier, right-click removes), preset/environment/notification settings, and border upgrades. Each section permission-gated (pocketdimensions.commands.player.pd.menu.*).
Storage
- Configurable backends: JSON (default, same files as before), SQLite, MySQL via JDBC — both drivers bundled, nothing to install.
- Switching
storage.typeauto-imports your existinglastlocs.json/pdborders.jsononce and renames them*.imported. Trust, settings and gamerule overrides use the same backend automatically. - JSON writes are atomic and serialized (no lost updates), and saved locations now remember yaw/pitch.
World Management
- Empty dimensions unload (after saving) after a configurable grace period; players who log out inside are returned on rejoin.
Invites
- Multiple simultaneous invites:
/pd acceptinvlists senders when several are pending,/pd acceptinv <player>picks one.
Developer API & Integrations
- Cancellable events:
PocketDimensionCreateEvent,PlayerEnterDimensionEvent,PlayerLeaveDimensionEvent,InviteSendEvent,MobTeleportEvent. - PlaceholderAPI:
%pd_in_pd%,%pd_border%,%pd_visitors%,%pd_dimension_loaded%.
Bug Fixes
/pd kickno longer crashes when the target is offline, and now verifies the target is actually inside your pocket dimension (previously anyone could "kick" players from the overworld).- Editing the
pdleavesection ofmessages.ymlnow works (keys were mismatched; the section is nowpd.leave). - Entering your own dimension from inside someone else's no longer corrupts your main-world return location.
- Servers whose main world is not named
worldno longer error when leaving/kicking. - A newer invite no longer disappears early when an older invite expires.
- The mob-teleport cooldown is now actually checked when right-clicking mobs.
/pdworldborderrejects players who have never played instead of storing data for a bogus UUID./pdgamerulechanges persist across dimension unload/reload instead of being reset by the defaults.- Fixed the
/pd acceptinvfall-through and the self-invite UUID comparison.
Quality of Life
/pdreloadreloads config, messages, mob-teleport settings, protection lists and the economy hook./givepdconfirms when a dimension item is given;/pdtab completion is permission-filtered.
Requires Java 17+. See the README for the full permission and config reference.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:2sir62f0:BkAPytOm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:2sir62f0:BkAPytOm"
}

