Dreamworld
Dreamworld
Looking for maintainer!
The plugin is quite outdated. Unfortunly I am too buisy with other projects currently. So if you want to help out by picking up this project and fixing its issues, let me know.
What is this?
Dreamworld gives players the chance to wake up in an other, specified "dream" world when they leave their bed.
The dream world has to be specified in the config. If the plugin does not find a world with the specified name, it will automatically attempt to load or even create this world at startup. The default worldname is "dreamworld".
If you want to use a custom world generator for your dream world, I suggest you to first create the world via one of the popular world management plugins (like for example Multiverse).
By default, when a player starts dreaming, their stuff (inventory and other player-state-information) is stored in memory, they are cleared, teleported to a random spawn location (or the dreamworld's spawn location, if you didn't set up random spawn locations yet) and they get assigned some potion effects (high jump, short view range, speed, confusion, etc..) to create some sort of dreaming-impression.
You can configure those potion effects in the config file by the way, together with a lot of other stuff. See below for a complete overview of the configurable features.
After a random time (specified by the config) they get teleported back and restored to their old state.
To handle quits or server restarts during dreams, the plugin ends the dream in those situations (the player gets teleported back and restored). But before that happens the plugin saves the player's current dream-state (his items, effects, location, remaining dream duration, etc.) to file for later continuation (when the player logs back in or the plugin gets enabled again).
In the config there is a option which determines after how many minutes the plugin shall purge those saved dream-states (default: after about 3 days).
If you want to edit the messages which are print to the normal users in certain situations, take a look at the messages.yml file.
What next?
This are the very first basic features for now. But the potential for additional features are endless for that dream scenario. Possible ideas are:
nightmares, dream escapes, treasures, scenarios, tasks, option to make dreaming players invisible for each other, blocking chat, etc..
If I get the time I might add some of them in future releases.
Or if you want to add something: the source code is on github and you are free to make pull requests.
Commands
Not needed in general but maybe helpful..
- /dw help - Command list.
- /dw setspawn - Sets the spawn location of your current world.
- /dw dspawn - Teleports you to the dream world.
- /dw spawn - Teleports you to the main world's spawn.
- /dw addspawn - Adds your current location to the list of random dream spawns.
- /dw clearspawns - Clears the list of random dream spawns.
Permissions
- dreamworld.dream: Ability to dream. default: true
- dreamworld.admin: Access to the admin commands. default: op
The default configuration file with explanations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
#--------------------------------# # Dreamworld | #--------------------------------# # All dream settings: dream: # If no world with this name exists, it will create one. # If you want to use a custom generator, I suggest you to first generate the dream world with a plugin like Multiverse. world name: 'dreamworld' # Whether or not animals and monsters shall spawn: no animal spawning: true no monster spawning: false # The chance that leaving a bed leads to a dream (between 0 and 100): chance: 25 # The minimal and maximal durations for dreams in seconds: min duration in seconds: 25 max duration in seconds: 300 # Whether or not the player shall spawn at one of the random spawns when he starts dreaming, instead of the dream worlds spawn: spawn randomly each time: true random spawns: [] # The gamemode, health, hunger and potion effects a player starts with: gamemode: apply: true initial gamemode: 2 health: apply: true initial health: 20.0 hunger: apply: true initial hunger: 20 potion effects: apply: true initial potion effects: SLOW_DIGGING: duration: 2147483647 level: 20 JUMP: duration: 2147483647 level: 10 SPEED: duration: 2147483647 level: 2 CONFUSION: duration: 2147483647 level: 1 NIGHT_VISION: duration: 2147483647 level: 100 BLINDNESS: duration: 2147483647 level: 100 # Whether or not the player shall be completely cleared on enter and restored on exit: clear and restore player: true # Purge saved dream data after this amount of minutes (should be higher than the max dream duration): purge saved dream data after x minutes: 4320 # If the remaining dream seconds are less than those of this setting, the player will skips those remaining seconds if he disconnects or attempts to continue his dream on login: ignore if remaining seconds is lower than: 10 # Whether or not the player's personal visual time shall be modified: fake client time: enabled: true # The time to which the client will be set: time (in ticks): 12000 # Set the time randomly instead? These bounds determine how much the time will randomly differ from the time defined above: random bounds: 0 # The client's time will not change during the dream with this enabled: fixed time: true # Whether or not it shall rain for the dreaming player: fake client weather: raining: true # Whether or not it shall randomly pick one of the sounds from the list below and play it at dream start: dream start sound: enabled: true # format: "sound;volumn;pitch" random sounds list: - "AMBIENCE_CAVE;1.0;1.0;" - "WITHER_SPAWN;1.0;1.0" # Disable various stuff for the dreaming player: disabled: hunger: true # Damage settings: If the player dies, he leaves his dream. If the player falls into the void but all damage is disable, he will be respawned at some dream spawn. fall damage: true entity damage: true all damage: true item dropping: false item pickup: false weather: false block placing: false block breaking: false # A list of allowed commands. All other commands are blocked for non-admin players. Make sure to not put any kind of teleportation command in here: allowed commands: - '/list' - '/msg' - '/m' - '/r' - '/reply' - '/tell' - '/whisper' - '/login' - '/register' |
Bugs found? Or having an idea?
Then please create a ticket.
@blablubbabc
It is as cool as can be. If I'll be able to add two worlds, and maybe full randomization of the dreams plus nobody will be losing their inventory or die in real world I won't ask for anything more. I guess the only job left for you after that will be keeping it up to date with new Minecraft releases ;].
Thanks for your hard work.
@iDevice
Create a ticket for a feature request.
Hey, i have for you some idea to the plugin. sand me email please for the idea :) [email protected]
Thx.
@nullschritt
This doesn't help me. Could you please upload your config somewhere, where it keeps the format?
Or simple telle what stepps I have to take, in order to reproduce this behavior.
@blablubbabc
------#------#@MikeGold
Maybe I will add some sort of "dream world" - list in the config, to which all those dream settings apply then.
I agree that making things randomly improves the plugin. I will think about how it would be the best:
It seems that this plugin already got all the feature dreamland had (besides that feather-flying-thing). Anyway, I will try to keep improving it. But probably I can't spend to much time on this because of my other projects..
Cool. It would be nice if I could add two worlds to a dream which would be picked at random.
To be honest, like most of the people, I'm looking for the replacement of discontinued "dreamland" plugin. So with two random worlds it'll be practically a better version of dreamland ;].
Oh, and you might also add the option to absolutely randomize the potion strength and if they'll be enabled or disabled. The more random the dreams are the better ;].
@nullschritt
Can you tell me what exactly you changed in the config for that to happen? So I can reproduce this behavior on my test server.
@MikeGold
You are right. I will see to improve this by trying to prevent the death somehow in the next version.
Edit:
v 1.1
I just gave your plugin a shot. It will probably give me nightmares tonight... Anyway, I've found a little glitch. I've used the sky world for the dreams and in the beginning when I fell down it respawned me in one of the spawns of the dream world (which is ok) then I've set up the damage and fall damage on, because I wanted to wake up when I fall to the void. So I fell asleep, jumped down to the void and I've started taking damage, heart by heart. When my HP gone down to 0, I woke up and died straight away. Since this bed was my home, I respawned there, but my inventory was all gone. I did that on my test server with your plugin, permissionsex and no other plugins enabled.
Hello, this seems like a really great plugin, but after I change the config the plugin stops working, even though the config is valid and the plugin loads fine, the user is never transported to the dream world regardless of the percentage I set in the config file.
Also it seems none of the commands function, they all just return "/dw help".
v1.0
This version is a complete rewrite. Everything has changed. Check out the description above for an overview on all it's features.
The plugin will probably need to be completly rewritten..
World creation is done via bukkits default api method for that:
getServer().createWorld(new WorldCreator(worldname));
If you plan to continue this plugin, let me know: I will clear the current code up, so you can use it as base if you want, and will add you as author so you can upload new files. I will consider changing the license to something like GPL then.
Since this plugin is now outdated.. Would you post the source for developers to see the world generation!?
@Mike4898
I have to kick them out of the bed anyway to be able to teleport them, and I can't be sure if the bed is still there after their dream finished, so I can't put them back into bed that easy..
Is it possible to make that players actually get teleported while in their bed, and not when leaving their bed?
Hey, it would be awesome if there's different dreams (every so often a new world is generated, old one replaced). And maybe you could make it so that in a dream you're in creative (configurable?).
@TechN9ne123
I thought "Pl0x was for Roblox, lol!
@blablubbabc YES :D Add it Plox ;D
Hm, completly random spawns are difficulty.. But what about a command to add spawn points and it will randomly choose one of these ? That way you could even build their different dream sceneries around these spawn points..
Tell me if you would like this that way
Is there any way to give this "random spawns" on the Dream world so I could give more randomized dreams?