DimensionalRift is a powerful but lightweight plugin that allows players to create and manage their own pocket dimensions. Each player can create a personal dimension that they can customize and control, making it a unique space for building, exploring, and interacting with others.
Features
Create Personal Dimensions: Players can create their own pocket dimensions with customizable settings.
Customizable Environment: Adjust time, weather, difficulty, and more to suit your preferences.
Access Control: Set your dimension to be closed, whitelisted, or public, giving you full control over who can enter.
Whitelist Management: Easily add or remove players from your dimension's whitelist.
Dimension Settings: Modify various settings such as PvP, daylight cycle, weather cycle, and mob griefing.
Teleportation: Enter your dimension or visit others' dimensions with ease.
Performance Optimization: Automatically unload empty dimensions to save server resources.
Comprehensive Permissions: Server owners can control who can create, enter, delete, and modify dimensions.
Commands
/rift create - Create a new pocket dimension.
/rift enter [name] - Enter a pocket dimension (your own if no name specified).
/rift delete - Delete your pocket dimension.
/rift list - List all available dimensions.
/rift settings - Show available dimension settings.
Allow players to choose different world types (flat, amplified, etc.) when creating their dimension. Add options for custom terrain, biomes, or structures.
Advanced Protection Features
Add region-based protection within dimensions. Allow players to set specific areas as protected or public. Add support for trusted players who can bypass certain restrictions.
Economy Integration
Add costs for creating or modifying dimensions. Allow players to rent or sell dimensions to other players.
UI Improvements
Add a GUI for managing dimension settings. Create a visual map or overview of all dimensions.
Performance Optimizations
Add options to unload empty dimensions to save server resources. Implement caching for frequently accessed data.
Additional Commands
Add commands for teleporting between dimensions. Allow players to invite others to their dimension.
Logging and Analytics
Add detailed logging for dimension creation, deletion, and settings changes.
Custom Events
Add custom events for dimension creation, deletion, or settings changes.
Player-Configurable Rift Protection Settings
Empower your players to control the safety and integrity of their own dimensions! Rift owners can fine-tune the following anti-griefing and protection options using simple commands:
Block Breaking:
Decide if other players can break blocks in your rift. /rift settings <dimension> allowblockbreak <true|false>
Block Placing:
Control whether other players can place blocks. /rift settings <dimension> allowblockplace <true|false>
Mob Spawning:
Enable or disable mob spawning in your rift. /rift settings <dimension> allowmobspawn <true|false>
Toggle whether fire can spread. /rift settings <dimension> allowfirespread <true|false>
Crop Trampling:
Prevent or allow crops from being trampled. /rift settings <dimension> allowcroptrample <true|false>
Item Dropping:
Decide if players can drop items. /rift settings <dimension> allowitemdrop <true|false>
Item Pickup:
Decide if players can pick up items. /rift settings <dimension> allowitempickup <true|false>
DimensionalRift Permission System Overview
DimensionalRift features a granular permission system that allows server owners to control exactly which settings players can modify in their rifts. By default, all players can modify all settings, but server owners have complete control over these permissions.
Basic Commands
dimensionalrift.use - Allows using the main rift command
dimensionalrift.create - Allows creating new dimensions
dimensionalrift.admin - Gives access to all commands and settings (default: op)
How It Works
Default Behavior
All players can create and manage their own rifts
Players can modify all protection settings in their rifts
Only the rift owner can modify their rift's settings
Server operators have access to all commands and settings
Restricting Permissions
Server owners can use permission plugins (like LuckPerms, PermissionsEx, etc.) to restrict access to specific settings.
# Prevent all players from modifying explosion settings /lp group default permission set dimensionalrift.settings.explosions false # Create a VIP group with access to specific settings /lp group vip permission set dimensionalrift.settings.blockbreak true /lp group vip permission set dimensionalrift.settings.blockplace true /lp group vip permission set dimensionalrift.settings.mobspawn true # Give a specific player access to all settings /lp user <player> permission set dimensionalrift.admin true
LuckPerms Example:
In-Game Experience
Players only see settings they have permission to use in the /rift settings help menu
If a player tries to use a setting they don't have permission for, they'll receive an error message
The rift owner can still modify their rift's settings if they have the required permissions
Best Practices
For Small Servers
Keep the default permissions (all enabled)
Use the admin permission for staff members
Monitor player behavior and restrict permissions if needed
For Large Servers
Create different permission groups (e.g., Basic, VIP, Premium)
Restrict certain settings by default
Gradually unlock more settings as players progress
For Roleplay Servers
Consider restricting settings that could break immersion
Create custom permission groups for different roles
Use the permission system to enforce server rules
Technical Information
Author: noottttt
Version: 1.0
Dependencies: None (soft dependencies on WorldEdit and WorldGuard for enhanced functionality).
Compatibility: Works on Spigot/Paper servers running Minecraft 1.20 and above.
Installation
Download the latest version of DimensionalRift from the Spigot page.
Place the JAR file in your server's plugins directory.
Restart your server or reload the plugins.
Configure the plugin using the config.yml file located in the plugins/DimensionalRift directory.
Support For support, feature requests, or bug reports, please visit my discord @ discord.gg/k9xCtCnsNJ