Inactive [WGEN] Planetoids v1.2.5 - Generates a world full of planets [1.2.3 R0.2] [MOVED TO BUKKITDEV]

Discussion in 'Inactive/Unsupported Plugins' started by Canis85, Jun 23, 2011.

  1. Offline

    Canis85

    Planetoids - Generates a world full of planets:
    Version: v1.2.5

    THIS HAS BEEN MOVED HERE, ON BUKKITDEV.

    Show Spoiler
    Planetoids creates a new world (called "Planetoids", if you fail to make a settings file) that uses my custom generator class to create a world full of "planets", which are spherical objects of varying size that have a "shell" of one block type, and a "core" of another.

    I got the idea from the Planetoids Map Generator, but I have no affiliation with the author of that tool.

    NOTE: If you're updating from 1.2.1, you'll have to rename your settings.yml to config.yml due to a change in how Bukkit does config loading.

    Features:
    • Configurable core and shell blocks, with percentage chance
    • Floor, with configurable block type and height
    • Optional single-block bedrock floor below that
    • Lock it to nighttime only
    • Disable weather, monsters, animals
    Download Planetoids (zip)
    Download Planetoids (jar only)
    Source Code

    A default config is created if you don't make one and don't use the zip, inside plugins/Planetoids. If you want to customize it before the spawn area generates (highly recommended), use this template (updated for 1.1.0's yml):
    Sample Config

    Notes:
    • The only command is /pltp, which can be disabled in the settings file. When you use it it teleports you to the Planetoid world, at the spawn location. I suggest disabling it and using other multiworld plugins to do the actual teleporting and moving between worlds
    • The first time you launch CraftBukkit with this plugin, it will take a decent amount of time to create the spawn area, thanks to the lighting calculations
    • Regarding Density: If you're planning to use a teleport/flying plugin to hop from planet to planet, you'll need a lower density so that the generator can keep up (<1000). If you plan on restricting your players and making them build their way from planet to planet, you'll want a higher density (>5000) so they don't have to build so far to get to the next planetoid (this is assuming default planetoid sizes)
    • Spawn point is on a hard-coded planetoid that generates with a leaf shell and a log core. So even if you don't have leaf/log in your settings file, the spawn planet will always be this, so that players have something to start building with (in testing I started on obsidian planets sometimes...)
    • If you changed the config but you're still getting (or not getting) shell/core types that you've removed/added, remember that you have to move into a new "system" (or delete the files in /plugins/Planetoids/Systems and delete the world) to see the new types. Each "system" is 50x50 chunks, so you should see new planetoids at x or z = +/-800 (and 1600, and so on)
    • Make sure you leave at least one core type that doesn't generate heat (burning_furnace, fire, glowstone, jack_o_lantern, stationary_lava, lava). The generator has some internal logic to help prevent stuff like a wood shell with a lava core, and the generator code will freeze if it can't find an alternate core
    Known Issues:

    See the Github issue tracker. If you find a bug, please submit it there!

    NOTE: If you're looking for something more "space-y", check out StyxSpace. I've worked with the author of that plugin, and I integrated the generation code from this plugin (v1.1.0) into it. I will still continue to maintain Planetoids, because Planetoids is meant more to be a fun way to mine for resources than a "space world".

    Planned Features:
    Version 1.3.0
    • Set core size based on core type
    • Suggestions?
    Changelog:
    Version 1.2.5
    • Bug fix: Monsters were sometimes spawning even when disableMonsters was set to true, this should not happen anymore.
    Version 1.2.4
    • Bug fix: bedrock floor will no longer show up with floorHeight > 0 unless bedrock is set to true in the config.
    Version 1.2.3
    • Updated /pltp command to send you to the spawnpoint of World 0 (which is usually the main world) when you're in the Planetoids world.
    Version 1.2.2
    • Updated for Minecraft 1.2.3
    Version 1.2.1
    • Lowered system size from 100x100 chunks to 50x50 chunks
    • Lowered default density to 750 to match new system size
    • Confirmed works in Minecraft Beta 1.7.2
    Version 1.2.0
    • Fixed bug where sometimes chunks at borders between systems would be empty
    • Lowered default density from 15000 to 2000. This should speed up the generator for those of you flying around ;)
    • Changed the way cores are generated so they're more round
    • Added option to disable monsters and/or animals in the Planetoids world
    Version 1.1.0
    • Config now uses yml and is easier to read
    • Generated "systems" are saved so changes to config/code won't mess up existing world
    • Probably last release before integration into StyxSpace UPDATE: I will continue to maintain Planetoids outside of StyxSpace
    Version 1.0.1
    • Fixed bug when using custom world name
    Version 1.0.0
    • Release
     
  2. Offline

    havejack

    Umm we cant destroy in that world

    Edit: Nvm It was apermission proplem
     
  3. Offline

    superbomb17

  4. Offline

    Elfsovereign

    This would be just about perfect if it did a few more things, namely: created an augmentary world, not a main world for the server, a la skylands or styxspace; and had a command to reach said world say /planetoids or something.

    Sorry to post again, but it won't let me edit. I also like the idea of being able to night-lock it, since it should look like it's in space, also is it with water, lava, or air based bottoms of the world? Are you able to change these settings?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  5. Offline

    Canis85

    I'm not sure what you mean by "augmentary" world, I'll have to look into the different methods for creating worlds. Take a look at the sample config listed in the OP to see how to set up the floor of the world. The /pltp command will teleport you to the world at the spawn location (but there's currently no way to teleport BACK aside from dying...), but I highly suggest disabling the /pltp command and using one of the myriad of multiworld teleport plugins (like Inception) to access your Planetoid world.

    I'll add night-locking next :)

    I'm currently changing the config to yml, and I'm going to make it so that the "Systems" that are generated already are saved to disk. This means that any world you have now will probably get messed up if you update to the next version, but because it will be saving to disk in the next version, that shouldn't happen again with future updates. Read on if you're interested in why.

    Right now, Planetoids generates "systems", or regions, that are 100x100 chunks in size. These systems are generated when a chunk that exists in it is called upon to be generated. When the world is initially created, you always have at least four systems generated, since you spawn either close to or inside the 0,0 chunk, which is in the "corner" of the 0,0 system. These systems are generated procedurally, so even if they aren't saved to disk, the same system will be generated if you quit, reload, and generate a new chunk in another area of the system. Once the system is generated, it is cached in memory so future chunks in that system that are loaded (until the next restart) won't have to re-generate the entire system again. After caching (or loading from cache), it goes through the planets in the system and "draws" any planetoid (or piece of planetoid) that exists in the chunk.

    This means that any change to the code that alters the procedural generation (or, for that matter, any change to the configuration of what cores or shells are allowed) will completely alter the system. So if you've loaded half the chunks in a system, then change the config or update the code, then try to load the remaining chunks, you'll have half-planets and crazy stuff like that that makes no sense.

    The next release will save any generated system inside the Planetoids data directory, so you can safely alter the allowed cores and shells, and update your Planetoids release, without having to wipe your entire Planetoids world.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  6. Offline

    Styx Reborn

    Good luck with this - read the PM.
     
  7. Offline

    superbomb17

    actually if you have essentials /back takes you to your prevous location :)
     
  8. Offline

    codename_B

    This requires screenshots/videos in the OP to make it better. :D *hint*
     
  9. Offline

    Styx Reborn

    StyxSpace :D *hint*
     
  10. Offline

    Canis85

    1.1.0 released, and I'm going to try to work with the StyxSpace guys to merge this in. Keep an eye on their plugin and hopefully you'll see it in there soon!
     
  11. Offline

    Elfsovereign

    What I meant with augmentary was not the main world of the server. I've since plopped this on and it works, though quite a few of the planetoids concern me! Quite a few of them are filled with a TNT core, which is a bit strange for a planet to have as a core, also the fun half-suns of the glowstone planets seems to be missing. I think I'm gonna have to redo the config file and delete that world I have. As far as other plugins working with this, but inception and WormholeXtreme work beautifully with it, though I would recommend the latter for transport in and out.

    That would actually be kind of annoying, no offence. I use both of these at once to create an upper atmosphere illusion, with yours as the moons. If you're going to include this in StyxSpace as well, please give us lots of options in the config file.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  12. Offline

    Styx Reborn

    http://pastebin.com/huMDuB68
    We knew someone would dislike that change, but there you have it :) 0.5 config will look like that.
     
  13. Offline

    Elfsovereign

    So what are you going to do with your plugin then? I am happy to see that it's at least an option, because I like having the different layers different for a purpose. Also if you two are working so closely would it be possible to be able to edit which helmet is the "space helmet" and to be able to properly disable the need for the thing? I just died about 7 times in a row even though I had the helmet supposedly disabled. One more thing that could be added to yours is denying mob spawning like in the Space plugin. Right now I'm having difficulty making them go away in yours, and it's a bit weird to have mobs suddenly reappear after 2 layers of them being gone. Glad to see night lock is now in, that was proving tricky as well to create outside of the plugin.

    Oh sorry and one more thing, could you include the settings folder in the download? It's a tad annoying to have to spawn a world just to get the settings folder, just to immediately scrap it because I want to tweak the base settings. One bug I noticed was that it still made brick planets, even though I specifically told it not to. I may just use some world edit to turn those into the glowstone planets I wanted but were no where to be found.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  14. Offline

    Styx Reborn

    Those posts were very confusing.
     
  15. Offline

    Canis85

    I assume the layers you're talking about are with Inception? The helmet stuff in StyxSpace is still being developed, it's not perfect yet. I'll have to check on it making planets that don't exist. Can you post your config you were using where it made a brick planet but wasn't supposed to, and the x,y,z location of the planet?
     
  16. Offline

    Elfsovereign

    Looking them over again they were a bit sorry. Ok let me clarify: I'm wondering what will become of this plugin if it is to be married to the StyxSpace plugin? Will this one just be discontinued?

    On Styx's plugin, I've been having difficulty with his helmet system, namely when I disable it, the plugin just kills me anyway. He said that I can edit it so that the helmet is a glass block instead, which I will be going over to check on. I didn't see that option last time I looked, but maybe I just have an old version which, considering I installed it last night, is improbable.

    If this plugin is to continue independent of Styx's, would it be possible to include the ability to block mob-spawning? I've tried to implement this into the plugin with WorldGuard, but it seems to not like the way I was formulating the list of mobs to deny. The reason I want this layer to be mob-free is to follow the internal logic behind the layout of my server. I use inception to have it go nether-mainworld-skylands-styxspace-planetoids, to try and quasi-replicate the layout of a planet; the nether being the upper mantle of the core, and the planetoids being the moons. From the Skylands up there are no mobs (except for chickens in the skylands), and it is strange to have space creepers. Also the seem to spawn excessively since they have no caves to hide in, and the world is night-locked by default.

    I requested that the config folder be included in the download because I'm kind of particular about what kind of planets I have, because when I just ran it unedited it gave me a world with a water bottom, bedrock floor, and TNT filled planets. This is again going against the internal logic of my layout to have a layer of bedrock supposedly miles above the surface of the planet. When just given the .jar I had to launch my server, allow it to create the Planetoids world, and then stop it just to gain access to the config files. Once having edited said files I had to delete the existing Planetoids world, and make it create a new one according to my preferences. If the config folder were to be included I could skip the whole messy middle section.

    As far as my config files and the mysterious brick planets:

    Code:
    #Planetoids configuration file
    planetoids:
        planets:
            bedrock: false
            minShellSize: 4
            minDistance: 10
            density: 15000
            minSize: 5
            floorBlock: AIR_BLOCK
            maxShellSize: 15
            floorHeight: 0
            blocks:
                shells:
                - STONE-1.0
                - DIRT-1.0
                - LEAVES-0.9
                - ICE-0.9
                - GLOWSTONE-0.4
                - SANDSTONE-0.8
                - OBSIDIAN-0.5
                - MOSSY_COBBLESTONE-0.3
                - GLASS-0.9
                cores:
                - STATIONARY_LAVA-0.8
                - STATIONARY_WATER-1.0
                - COAL_ORE-1.0
                - IRON_ORE-0.8
                - DIAMOND_ORE-0.4
                - CLAY-0.3
                - LAPIS_ORE-0.4
                - LOG-1.0
                - GOLD_ORE-0.6
                - REDSTONE_ORE-0.75
                - SAND-1.0
            maxSize: 20
        worldname: Planetoids
        seed: -8639780476642934406
        commands:
            pltp: true
        alwaysnight: true
        weather: false
    
    That's the code. Unless I'm mistaken I removed any possibility for brick planets, yet 3 or 4 exist around my "spawn" Planetoid, which is really just the one I chose to put the Stargate on. If you really need the coordinates I can see what I can do. I did notice with the update that the possibility for TNT filled planets was removed, much to my relief. My previous "spawn" Planetoid was located right next to a planet with an ice shell and a tnt core, a recipe for disaster if ever I saw one.

    Sorry for the length of this post, I just wanted to cover everything in one run. If I still need to explain something let me know, or if you'd rather I just shut up I can do that too.
     
  17. Offline

    Canis85

    If you put the example config in plugins/Planetoids before you run the plugin the first time, it will use it. I tried your config and I didn't find any brick planetoids. My guess is that you still had the pre-generated "System" data files in plugins/Planetoids/Systems. I'll add a .zip link in the OP that will include the config in the Planetoids folder so it's easier to customize before the first run.
     
  18. Offline

    Elfsovereign

    I ultimately removed the plugin because it didn't infinitely generate the planetoids. Was it meant to or was it simply intended to create a designated number of them?
     
  19. Offline

    Canis85

    hmm, it was supposed to generate them forever, but I didn't have any flying plugins to test how far it went. I coded this in two days, more as a proof-of-concept of using the new terrain generator stuff and because I wasn't happy with the options offered by the Planetoids Map Generator.

    Do you remember how far you got when it stopped making Planetoids? That was one of my main goals, to generate them forever, because the Planetoids Map Generator had a limit and I didn't like that.
     
  20. Offline

    Elfsovereign

    It was very limited. Perhaps 10 or 20 planetoids away. Unfortunately I just deleted all the files today otherwise I would have given them to you. If it were to be made to generate ad infinitum I would put it back on, but it needs to follow the logic of where I place it on the server!
     
  21. Offline

    shadrxninga

    please update to the latest RB :D (#935)
     
  22. Offline

    Canis85

    I compiled it against the latest Bukkit build and tested it on CB 935, it works. I didn't have to change any code though so re-downloading probably isn't necessary.

    I put a teleport plugin on my test server and tried it out. It's not that the generator stops generating planetoids, it's just that the server takes so long to do lighting calculations on the generating chunks that you have to sit and wait for the server to generate the new chunks. Once I fix a bug I found where chunks are missing at the borders between systems when at negative locations, I'll upload new code with a lower default density. For now, you can 'fix' it on your own by lowering the density (it will default to 2000 in the new version) until you're happy with the generation speed. It's a tradeoff between # of planetoids and generator speed.

    EDIT: remember you need to delete the system data files in "plugins/Planetoids/Systems" for the new settings to take effect, unless you want to move outside of the systems you've already generated. See the note about the system data files in the OP.

    v1.2.0 released. Default density is lowered for this release so that the generator can keep up a bit better. You'll still have to wait if you're moving pretty fast (or teleporting), but you shouldn't have to wait so long that it might timeout and kick you. If you're not using teleport/flying plugins (ie. forcing your players to build bridges from planet to planet) then I'd suggest putting the density back up to where it was, because the generator is more than able to keep up with players moving around at regular speed.

    You can also disable monster and/or animal spawning in the Planetoid world now.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  23. Offline

    Canis85

    v1.2.1 released. System size is reduced to 50x50 chunks so that config changes will show up sooner. Default density lowered to match. Confirmed working with build 953.
     
  24. Offline

    duhfux

    No posts for a month must mean that people are having no problems with this :) good work! We had so much fun playing on a fresh Planetoids world yesterday.
     
  25. You should change the tag, in the title of this thread, to [WGEN].
    :)
     
  26. Offline

    Canis85

    Thanks! I'm glad to hear other people are using and enjoying this :)
     
  27. Offline

    Moe041991

    Its a really nice plugin. One thing iam missing is an option for mixed planets. I loved Spheres, but its abandoned :(
     
  28. Offline

    enkious

    Totally isnt working for me. Not sure why.
    my server properties has
    Level name=Planetoids
    it's just a regular world though...
     
  29. Offline

    duhfux

    in bukkit.yml try
    Code:
    worlds:
        planetoids:
            generator: Planetoids
     
  30. Offline

    Canis85

    What exactly do you mean by 'mixed'?
     

Share This Page