Sueta

Pocket Dimensions

0.0.8

Create custom pocket dimension for you players! They can invite and kick other players and go between the real world and their pocket dimension using a special item!

·Plugin
  1. 0.0.8latestPocket Dimensions 0.0.82 days ago

    Pocket Dimensions 0.0.8-ALPHA

    Minecraft 26.3 support, stronger protection, and storage/admin reliability improvements. - Minecraft 26.3 (Wilderness Bound): - One jar now supports Minecraft 1.19.4 through 26.3; Java 17+ (26.x servers need Java 25). - Gamerules work across 1.19.4, 1.21.11+ and 26.3 spellings; /pdgamerule accepts either camelCase or snake_case and configs keep working unchanged. - Dimensions are found, loaded, reset and deleted correctly on 26.1+ servers, where world data lives under <main world>/dimensions/minecraft/..., as well as on older servers and hosts that flatten folder names. - 26.3 shelves are protected like containers; cushions and the new block variants need no extra setup. - Configs are upgraded automatically; new protection options are added without touching existing values. - Protection: - Visitors can no longer strip logs, till/path blocks, bone-meal crops, wax copper, carve pumpkins, brush suspicious blocks or harvest beehives with right-click tools. - Boats, minecarts, armor stands, end crystals, spawn eggs and sign editing are blocked for untrusted visitors; riding normal minecarts/boats and using cushions still works. - Pets stay protected even if the attacker leaves the dimension before a projectile lands. - Chested animals, storage minecarts/boats and armor stands stay protected even when mob damage is disabled. - Malformed pocket-dimension worlds now remain protected instead of becoming public. - Admin and data safety: - Border sizes are validated, so a bad value can no longer make a dimension unenterable; economy upgrades only charge for valid tiers. - /pdadmin cleanup rejects negative or overflowing day counts. - /pdadmin reset clears the old in-dimension position and logout flag, so players return to the new spawn instead of stale coordinates. - Delete/reset removes every copy of a dimension folder, verifies deletion and refuses suspicious paths. - /pdleave only saves your own dimension position; /pdtp remembers the admin's return point. - Storage: - Interrupted JSON -> SQL migrations resume on the next start instead of being skipped forever. - Source files are never renamed after a failed import. - Unreadable JSON is quarantined and writes are refused instead of rewriting the store from empty data. - SQL purges are transactional. - Quality of life: - /pdgamerule is owner-or-admin only and rejects extreme integer values. - Invites are re-checked on accept, so revoked trust cannot be used to enter. - GUI trust promotion and border upgrades require their matching permission nodes. - Shift-click crafting produces keys bound to the crafter. - /givepd drops leftover keys at your feet instead of deleting them on a full inventory. - Glow on key items works on modern servers.
    6 downloads
  2. 0.0.7Pocket Dimensions 0.0.7Aug 29, 2026

    Pocket Dimensions 0.0.7-ALPHA

    A full four-way codebase audit (storage, world lifecycle, commands/GUI, compatibility) — this release fixes everything it found. Upgrade is drop-in; existing configs/data are untouched on load.

    Critical

    - The config auto-updater actually works now. A Bukkit quirk (contains() resolving through jar defaults) made it a silent no-op, so upgrades never received new config keys on disk. Fixed with isSet(). - Accepting an invite while inside any pocket dimension no longer corrupts your main-world return point (which could soft-lock you out of the overworld via /pdleave, kick, or the key item).

    Economy & load order

    - Removed load: STARTUP, which silently broke the Vault economy hook on every boot — creation costs and upgrades work now. - Creation cost + PocketDimensionCreateEvent fire only when a world is genuinely created — reloading an unloaded world is free (previously each re-entry after auto-unload charged again). Failed creations are refunded.

    World lifecycle

    - Unloaded dimensions reload with their preset generator re-attached — VOID worlds no longer regenerate new chunks as vanilla terrain after an auto-unload or /pdtp. - Logging out inside your own dimension now saves your exact position; rejoin restores you there (not your last exit point) and re-applies border + gamerules. - Failed teleports say so instead of playing success feedback while not moving.

    Protection hardening

    - Projectiles no longer bypass mob protection (the shooter is tier-checked). - Fire is covered (protection.block-fire: true): visitor ignition and all non-player ignition are cancelled, and fire no longer consumes blocks inside dimensions. - Item frames / paintings / armor stands / leash knots / chested horses / chest & hopper minecarts / chest boats are protected from visitors; leashing, shearing and farmland trampling blocked below builder. - Protection fails closed on malformed world names instead of failing open.

    Mob teleporting

    - Trust gate: visitors can no longer teleport mobs out of someone else's dimension into their own. - Failed mob teleports report a message.

    Storage

    - Corrupt JSON files are quarantined (*.corrupt-<timestamp>) and un-quarantineable files refuse writes — one bad file can never wipe a store. - JSON → SQL migration is complete: trusts, settings and meta flags are imported too, malformed keys no longer crash startup, and source files are renamed only after a fully successful migration (failures retry). - Trust/settings caches no longer poison themselves after a database blip.

    Commands & GUI

    - /pdadmin delete|reset|cleanup each require their own permission node; admin unloads clear empty-dimension bookkeeping. - /pdgamerule accepts both new (26.x) and legacy gamerule names. - features.gui-menu and features.admin-tools config switches are honoured. - Placeholders are %pd_in_pd%, %pd_border%, %pd_visitors%, %pd_dimension_loaded% (the expansion previously registered under a name the docs didn't match).

    Smaller fixes

    First-join key drops at your feet on a full inventory · malformed crafting recipes warn instead of crashing startup · the key item no longer also opens the chest behind it · /pdreload warns when storage.type needs a restart · /pdlist shows "never" instead of the epoch · MySQL driver SPI registration preserved in the shaded jar · flattened world-name fallback in kick/invite/teleport/gamerule paths · dead message keys removed. Requires Java 17+. Full permission and config reference in the README.
    205 downloads
  3. 0.0.6Pocket Dimensions 0.0.6 AlphaAug 29, 2026

    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 settings or the menu. Applies only at creation; existing worlds are never regenerated. - /pd setspawn sets 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-time creation-cost and configured border upgrades tiers (/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.type auto-imports your existing lastlocs.json / pdborders.json once 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 acceptinv lists 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 kick no 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 pdleave section of messages.yml now works (keys were mismatched; the section is now pd.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 world no 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. - /pdworldborder rejects players who have never played instead of storing data for a bogus UUID. - /pdgamerule changes persist across dimension unload/reload instead of being reset by the defaults. - Fixed the /pd acceptinv fall-through and the self-invite UUID comparison.

    Quality of Life

    - /pdreload reloads config, messages, mob-teleport settings, protection lists and the economy hook. - /givepd confirms when a dimension item is given; /pd tab completion is permission-filtered. Requires Java 17+. See the README for the full permission and config reference.
    18 downloads
  4. 0.0.5Pocket Dimensions 0.0.5Feb 15, 2026
    - Added 1.21.11 compatibility: Fixed crash related to DO_MOB_SPAWNING removal by implementing dynamic GameRule resolution. - Added Bi-directional Mob Teleportation: - Players can send mobs into their PD and retrieve them back to the main world. - Mobs teleport to the player's last known location in the respective dimension. - Ownership check: Only the owner of the PD can teleport mobs to/from it. - Added Modular Tool System: - New tools section in config.yml. - Configurable mob-teleporter tool (required: true/false). - /givepd <player> [dimension|mobtool] command updated with tab-completion. - Added Automatic Config Updater: - Automatically adds new configuration keys to existing files on startup without loss of user data. - Improved Quality of Life: - Full Tab-Completion for all commands (/pd, /givepd, /pdgamerule, /pdtp, /pdworldborder). - Cooldown system to prevent accidental double-teleportation when interacting with mobs. - Modular Permissions: - Added specific permissions for storing/retrieving mobs and giving tools. - Registered all legacy permissions in plugin.yml. - Bug Fixes: - Fixed issue where players would teleport along with mobs. - Fixed logic for right-clickable entities (horses, sheep, etc.) to ensure teleportation works consistently.
    304 downloads
  5. 0.0.4Pocket Dimensions 0.0.4Jan 20, 2026
    Added * /pdleave Command: Added a new command to leave the current pocket dimension and return to your previous location (or spawn). * Permission: pocketdimensions.commands.player.pdleave * /pdworldborder Command: Added a command to set and update the world border size for a specific player's pocket dimension. * Permission: pocketdimensions.commands.pdworldborder * messages.yml: Added a full messages configuration file, allowing you to translate or customize every message sent by the plugin. * Fail-safe Messages: Added hardcoded default messages. The plugin will now safely fall back to internal defaults if a message is missing from your config. Configuration Changes * Key Item Customization: You can now fully customize the "Key Item" (used to enter dimensions) in config.yml. * Change the Material, Display Name, and Lore. * World Border Settings: * Added default-world-border-size to config.yml to set the global default size. * Individual sizes set via /pdworldborder are saved to pdborders.json and now persist across restarts. Changed * Folder Organization: All Pocket Dimension worlds are now generated inside a dedicated pocketdimensionworlds/ folder to keep your server root clean. * Note: If you have existing worlds in the root folder, you may need to move them into this new folder manually. * Safety Checks: Added strict permission checks to /givepd, /pdgamerule, and other commands to prevent unauthorized use. * Location Saving: Improved how the "last location" is saved, ensuring players return to the correct spot even after visiting someone else's dimension.
    85 downloads
  6. 0.0.3Pocket Dimensions v0.0.3Sep 25, 2024
    -Fixed an Issue with positions not saving when logging off while inside Pocket Dimension. -Added the Ability to customise gamerules per pocket dimension. (Permission: pocketdimensions.commands.pdgamerule)
    208 downloads
  7. 0.0.2Pocket Dimensions v0.0.2Jul 4, 2024
    0.0.2. -Now it saves the location in the pocket dimension aswell. -Teleports instantly instead of having to click twice when first loading the pocket dimension. -Fixed a bug in pdtp where it wouldn't teleport if the dimension wasn't loaded.
    126 downloads
  8. 0.0.1Pocket Dimensions v0.0.1Jun 28, 2024
    Initial Upload Tested 1.19.4-1.20.4 May work in newer
    75 downloads

Similar projects

Plugin →