- Supports both standalone usage and Bungee network usage, with interaction through Redis database. The user experience is highly praised.
- Seamlessly integrates with other terrain generation plugins, providing a high degree of freedom.
- Provides near-perfect cross-server access, allowing you to effortlessly visit other players' or your own homes regardless of the server you're on.
- Offers highly customizable GUI displays, allowing you to create visually appealing menus with a wide range of colors using custom model data starting from version 1.14. These menus can execute custom commands, adding to the overall aesthetic appeal.
- With only two commands to remember, players can easily navigate and interact with the plugin. This user-friendly approach enhances the overall experience and simplifies the usage process.
- From now on, there's no need to worry about large and undeletable survival worlds. Say goodbye to them and enjoy the flexibility and convenience provided by the plugin.
- Points or coins? You can set up paid features to generate your own world, Nether, and End. You can also offer paid customization options for seeds (which can be disabled) and upgrade the size of world barriers. The level of in-game purchases is highly customizable.
- Enjoy your own Nether and End dimensions! No need to worry about dragon fights anymore. Increased player retention.
- Compatible with plugins like Folia, Paper, PurPur. As long as the versions are compatible, the plugin will work seamlessly. Highly practical.
- Troubled by griefers building excessive structures or extensive farming? Uninstall their worlds, make necessary changes, and invite them back! Your server will thank you.
- Want others to visit and play in your home? You can open it up! Prefer only members to enter? No problem! Or do you want it to be exclusively for yourself with no one else allowed in? The choice is yours. High flexibility.
- Effective world protection ensures that visitors are completely ignored by monsters when they enter the world. Let them be true visitors! High level of security.
- Player worlds are loaded upon entry and do not save chunks when the player leaves, reducing server load.
- Seamless teleportation between your main world, Nether, and End. No more unpleasant experiences of everyone ending up in the default Nether and End. Negative feeling eliminated.
- Player-created worlds will be deleted upon regeneration, but the data associated with them will remain unchanged. Instead, corresponding main world, Nether (if enabled), and End (if enabled) dimensions will be generated.
- Not recommended for use with Minecraft versions 1.19.1 and 1.19.2. While it may work without issues, there may be performance delays and lag during world loading. It is advisable to use other versions (tested with Paper, but not guaranteed for other server implementations)
# Whether it is a Bungee server. If set to true, Redis database will be enabled. Restart the server after configuring.
isBungee: false
# Database reconnection time. It must be less than the disconnect time set for the database. Default is 1 minute. Also used for refreshing player count for display in the list.
RefreshTime: 30
# Storage mode: db or mysql. db is only applicable for a single server, while a Bungee server requires a MySQL database for data transfer.
Database: db
# MySQL configuration. This will not take effect if 'db' is selected for the database.
Mysql:
host: 127.0.0.1
port: 3306
database: PixelPlayerWorld
user: root
passwd: '123456'
ssl: false
HikariCP: true
# Not applicable if Bungee is not enabled. Redis database configuration required for Bungee server.
redis:
host: 127.0.0.1
port: 6379
password: ""
# Fill in the corresponding server name from the Bungee configuration.
Server: 'lobby'
# If the same as 'Server', player worlds will be created on this server.
# If different, player worlds will be created on the server specified in 'BuildServer'.
# If Bungee is not enabled, please keep it the same as 'Server'.
BuildServer: 'lobby'
# If you want players to freely choose the server for creating worlds, enable this option.
isMultiServer: false
# Players will choose servers from the following list. This list corresponds to the 'MultiServerGui'.
MultiServer:
- 'lobby'
- 'sc1'
- 'sc2'
- 'sc3'
#**********************************************************
# If specifying to use only coins or points, write -1 to disable.
# If both are set to -1, direct creation is enabled.
# Cost of creating a world in coins
CreateWorldMoney: 10000
# Cost of creating a world in points
CreateWorldPoint: 100
# Cost of creating the Nether in coins
CreateNetherMoney: -1
# Cost of creating the Nether in points
CreateNetherPoint: 100
# Cost of creating the End in coins
CreateEndMoney: 10000
# Cost of creating the End in points
CreateEndPoint: 100
# The pricing of the seed is not affected by the payment options above, even if points are set to -1.
# Please do not use decimal values. Let's be generous!
# If you want to charge for world creation but not for seeds, for example, set 'world' to 0 and 'seed' to 10.
# If you want to charge for seeds but not for world creation, for example, set 'world' to 10 and 'seed' to 0.
# Cost of customizing the seed in coins
CreateWorldSeedMoney: 10000
# Cost of customizing the seed in points
CreateWorldSeedPoint: 100
# Cost of adding a trust slot in coins
# Set to -1 to not take effect upon confirmation
ListAddMoney: 1000
# Cost of adding a trust slot in points
# Set to -1 to not take effect upon confirmation
ListAddPoint: 100
# Coin requirements for leveling up
LevelMoney:
1: 10000
2: 20000
#-1 means it doesn't take effect, you know, right?
3: -1
# Point requirements for leveling up
LevelPoint:
1: 100
2: 200
3: 300
#**********************************************************
Worldlevel:
# Please follow the format, specifying the world level and the corresponding world size.
# Each level must have a different size for certain calculations.
1: 100
2: 200
# Maximum length of a seed
WorldSeed: 20
# World rule settings
# If there are any rules that cannot be used in your version, please delete them below.
# If there are new usable rules, please add them below.
# All rule addresses: https://jd.papermc.io/paper/1.19/org/bukkit/GameRule.html
WorldSet:
# Keep inventory on death
keepInventory: true
# Fire spread
doFireTick: false
# Immediate respawn
# doImmediate: false
# Player world difficulty
WorldDifficulty: HARD
# World time synchronization
# Specify 'null' to disable synchronization
# Specify the name of the world to synchronize its time
# Note that the world to be synchronized must be loaded before all player times, i.e., loaded upon server start
WorldTime: 'null'
# World generator, you can specify custom world generators here for certain plugins
# Specify 'null' to use the default generator
WorldGenerator: 'null'
# Nether generator
NetherGenerator: 'null'
# End generator
EndGenerator: 'null'
# Automatic world cleanup for worlds that have been inactive for a certain period
# Units are in days. Specify -1 to disable cleanup.
WorldClear: -1
#**********************************************************
WorldListGui:
title: '&6Universe List'
# Specify the number of rows (1-6)
size: 6
buttons:
home:
name: '&6My Universe'
lore:
- '&7Click to enter my universe'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 0
back:
name: '&6Go Back'
lore:
- '&7Click to go back to the previous page'
material: 'ARROW'
custom-model-data: 1
amount: 1
slot: 45
next:
name: '&6Next Page'
lore:
- '&7Click to view the next page'
material: 'ARROW'
custom-model-data: 1
amount: 1
slot: 53
set:
name: '&6Set Universe'
lore:
- '&7Click to set up a universe'
material: 'CLOCK'
custom-model-data: 1
amount: 1
slot: 8
view:
name: '&6Shared Universe'
lore:
- '&7Toggle between all universes and trusted universes list'
material: 'BOOK'
custom-model-data: 1
amount: 1
slot: 49
#{1} Only available for the 'list' option
list:
name: '&6{1}'
lore:
- '&7Click to teleport to this universe'
- '&7Online Members: {2}'
- '&7Role: {1}'
material: '{1}'
custom-model-data: 1
amount: 1
slot: [19,20,21,22,23,24,25,28,29,30,31,32,33,37,38,39,40,41,42,43]
# Custom button example, can be added to any interface
custom:
name: "1"
lore: "1"
material: "PAPER"
custom-model-data: 1
amount: 1
slot: 52
# Alternatively
# commands:
# - ""
# - ""
commands: "say hello"
WorldCreateGui:
title: '&6Create Universe'
size: 1
buttons:
create:
name: '&6Create Universe'
lore:
- '&7Click to create a universe'
- '&7Creation price: '
- '&7{1} gold coins or {2} points'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 1
seed:
name: '&6Set Seed'
lore:
- '&7Click to set the seed'
- '&7Price increase: '
- '&7{2} gold coins or {3} points'
- '&7Current seed:'
- '&7{1}'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 0
WorldEditGui:
title: '&6Universe Settings'
size: 1
buttons:
member:
name: '&6Trustee Management'
lore:
- '&7Click to manage trustees'
material: 'PLAYER_HEAD'
custom-model-data: 1
amount: 1
slot: 0
ban:
name: '&6Blacklist Management'
lore:
- '&7Click to manage the blacklist'
material: 'PLAYER_HEAD'
custom-model-data: 1
amount: 1
slot: 1
mode:
name: '&6Universe Mode'
lore:
- '&7Click to toggle universe mode'
- '&7Current mode: {1}'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 2
level:
name: '&6Increase Level'
lore:
- '&7Current level: {1}'
- '&7Click to view cost and increase level'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 3
nether:
name: '&6Nether'
name1: '&6Nether'
lore:
- '&7Click to create the Nether'
- '&7Creation price: '
- '&7{1} gold coins or {2} points'
lore1:
- '&7Click to teleport to the Nether'
- '&7Using a Nether portal may teleport you outside the world border and cause death'
material: 'NETHER_BRICKS'
material1: 'NETHER_BRICKS'
custom-model-data: 1
custom-model-data1: 1
amount: 1
amount1: 1
slot: 4
end:
name: '&6End'
name1: '&6End'
lore:
- '&7Click to create the End'
- '&7Creation price: '
- '&7{1} gold coins or {2} points'
lore1:
- '&7Click to teleport to the End'
- '&7Using an End portal may teleport you outside the world border and cause death'
material: 'END_STONE'
material1: 'END_STONE'
custom-model-data: 1
custom-model-data1: 1
amount: 1
amount1: 1
slot: 5
restart:
name: '&6Reset Universe'
lore:
- '&7Click to delete the universe and recreate it'
- '&7Requires payment again'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 6
reborn:
name: '&6Set Spawn Point'
lore:
- '&7Modify the spawn point of this world'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 7
return:
name: '&6Go Back'
lore:
- ''
material: 'BARRIER'
custom-model-data: 1
amount: 1
slot: 8
BanGui:
title: '&6Blacklist Management'
size: 6
buttons:
back:
name: '&6Go Back'
lore:
- '&7Click to go back'
material: 'ARROW'
custom-model-data: 1
amount: 1
slot: 45
next:
name: '&6Next Page'
lore:
- '&7Click to view the next page'
material: 'ARROW'
custom-model-data: 1
amount: 1
slot: 53
add:
name: '&6Add to Blacklist'
lore:
- '&7Click to add to the blacklist'
material: 'PLAYER_HEAD'
custom-model-data: 1
amount: 1
slot: 4
list:
name: '&c{1}'
lore:
- '&7Right-click to remove from the blacklist'
material: '{1}'
custom-model-data: 1
amount: 1
slot: [19,20,21,22,23,24,25,28,29,30,31,32,33,34,37,38,39,40,41,42,43]
return:
name: '&6Go Back'
lore:
- ''
material: 'BARRIER'
custom-model-data: 1
amount: 1
slot: 49
ManageMemberGui:
title: '&6Member Management'
size: 6
buttons:
back:
name: '&6Go Back'
lore:
- '&7Click to go back'
material: 'ARROW'
custom-model-data: 1
amount: 1
slot: 45
next:
name: '&6Next Page'
lore:
- '&7Click to view the next page'
material: 'ARROW'
custom-model-data: 1
amount: 1
slot: 53
add:
name: '&6Add Member'
lore:
- '&7Click to add a member'
material: 'PLAYER_HEAD'
custom-model-data: 1
amount: 1
slot: 4
list:
name: 'Not Available'
name1: '&6{1}'
lore:
- '&7Click to activate this slot'
- '&7Price:'
- '&7{2} gold or {3} coupons'
lore1:
- '&7Right-click to remove this member'
- '&7Shift + Click to add to the blacklist'
material: 'BARRIER'
material1: '{4}'
custom-model-data: 1
custom-model-data1: 1
amount: 1
amount1: 1
slot: [19,20,21,22,23,24,25,28,29,30,31,32,33,34,37,38,39,40,41,42,43]
return:
name: '&6Go Back'
lore:
- ''
material: 'BARRIER'
custom-model-data: 1
amount: 1
slot: 49
ConfirmGui:
title: '&6Confirmation'
size: 1
buttons:
money:
name: '&6Use Gold'
lore:
- '{1}'
- '&7Click to confirm'
material: 'GOLD_INGOT'
custom-model-data: 1
amount: 1
slot: 0
point:
name: '&6Use playerpoints'
lore:
- '{1}'
- '&7Click to confirm'
material: 'EMERALD'
custom-model-data: 1
amount: 1
slot: 1
MultiServerGui:
title: '&6Select World to Create'
size: 1
buttons:
# 1 corresponds to the first server in MultiServer, and so on. The number of buttons should match the number of servers in the server list.
1:
name: '&6Survival World'
lore:
- '&7Create worlds here'
material: 'DIRT'
custom-model-data: 1
amount: 1
slot: 1
2:
name: '&6Creative World'
lore:
- '&7Create worlds here'
material: 'GRASS_BLOCK'
custom-model-data: 1
amount: 1
slot: 2
3:
name: '&6Diamond Land'
lore:
- '&7Create worlds here'
material: 'NETHER_BRICKS'
custom-model-data: 1
amount: 1
slot: 3
4:
name: '&6Nether World'
lore:
- '&7Create worlds here'
material: 'NETHER_BRICKS'
custom-model-data: 1
amount: 1
slot: 4
lang:
system: '&6Universe System:'
seed: '&6Enter Seed'
seed-error: '&6The seed is too long or not a number'
seed-success: '&6Seed set successfully'
mode:
anyone: '&6Anyone'
members: '&6Members'
nobody: '&6Only Me'
list-show:
owner: 'Owner'
members: 'Members'
visitor: 'Visitor'
take-money: '&6Deducted Coins: {1}'
take-point: '&6Deducted Points: {1}'
no-money: '&6Insufficient coins, required: {1}'
no-point: '&6Insufficient points, required: {1}'
world-creating: '§aCreating world, please wait...'
world-create-success: '§aWorld created successfully'
nether-create-success: '§aNether created successfully'
end-create-success: '§aEnd created successfully'
world-teleporting: '§aTeleporting, please wait...'
restart: '§cAre you sure you want to delete the world? This action cannot be undone. Click this message to confirm.'
ban: 'You are banned from this world'
add: 'Please enter the player name to trust'
add-member-error: "&6This player is already a member"
add-member-error1: "&6This player does not have their own universe yet"
add-member-success: "&6Member added successfully"
banName: 'Please enter the player name to ban'
ban-member-success: '§aPlayer added to the blacklist'
ban-member-error: '§cFailed to add to blacklist'
not-in-world: 'Please upgrade within your universe'
max-level: '§cMaximum level reached'
level-up-success: '§aLevel up successful'
nether-not-found: '§cNether world not found'
end-not-found: '§cEnd world not found'
set-spawn-success: 'World spawn point set successfully'
RandomSeed: "RandomSeed"
Usage Precautions:
1. Make sure you have the latest version of the plugin installed.
2. Take note of any compatibility issues or conflicts with other plugins or server software.
3. If you encounter any issues or need assistance, consult the plugin developer or seek support from the plugin's official channels.
4. Keep the plugin and your server software up to date to benefit from bug fixes and new features.
5. Use the plugin responsibly and adhere to any applicable terms of service or licensing agreements.
6. Regularly check for plugin updates and install them as necessary.
7. Have fun exploring the features and capabilities of the plugin!
Plugin Commands:
/ppw - Opens the main GUI.
/ppw restart - Regenerates the world.
These commands are intended for player use and require the "ppw.use" permission.
Update History (Notable Updates):
- June 14, 2023: Version 1.0.0 - Initial release of the plugin.
- June 15, 2023: Version 2.0.0 - Added compatibility with Folia.
- June 16, 2023: Version 2.1.0 - Added support for Nether and End worlds.
- June 17, 2023: Version 2.1.1 - Bug fixes.
- June 17, 2023: Version 2.2.1 - Added world upgrade functionality.
- June 17, 2023: Version 2.3.1 - Introduced world rule controls and fixed compatibility bugs.
- June 18, 2023: Version 2.3.2 - Added global time synchronization feature.
- June 18, 2023: Version 2.4.0 - Implemented world generation based on terrain plugins, allowing customized world generation.
- June 18, 2023: Version 2.4.1 - Fixed issues with incomplete configuration file options.
- June 18, 2023: Version 2.4.2 - Added the ability to unload worlds that have been inactive for a long time.
- June 22, 2023: Version 2.5.0 - Fixed player spawn death bug, teleportation error to upper Nether, added player-selectable home server GUI and configuration, added player-defined spawn points for home worlds, optimized plugin resource usage, modified configuration file format. It is recommended to upgrade to this version, but pay attention to the configuration file changes. It is advised to regenerate the configuration file if necessary.
Current Planned Updates:
1. Automatic cleaning of long-term inactive worlds (Completed)
2. World creation using templates (Work in progress)
Planned Updates (Status TBD):
3. Addition of permission nodes to set player member limits
4. World optimization: Limiting the number of entities, hoppers, etc. (To be determined)
5. Unique world resources: Implementing special resources specific to individual player worlds, in collaboration with other plugins (In progress)
6. Automatic balancing of player world loading in Bungee environment (Challenging task)
Please note that the completion and implementation of these updates may vary and are subject to change based on development progress and feasibility.