Inactive [INACTIVE][WGEN] BananaImageToMap v3.1 - now with proper ores! [1000]

Discussion in 'Inactive/Unsupported Plugins' started by codename_B, Jun 22, 2011.

  1. Offline

    codename_B

    BananaImageToMap
    turn any image into a world!

    Version 3.1
    Download Here
    Github


    Configuration options:
    • image to use
    This plugin allows you to turn any image into a world - this means it can be generated with, for example, BananaMapRender, and do stuff like this!



    That's right, heightmaps translated to maps in-game, for zero effort, just configure the worldname and the image and you're away!

    Remember:
    You need to configure your bukkit.yml correctly and start with a fresh world before using this or it will not work.
    Code:
    worlds:
          worldname:
                 generator: BananaImageToMap
    
    Includes:
    • CavePopulator
    • DesertPopulator
    • DungeonPopulator
    • FlowerPopulator
    • LakePopulator
    • Mushroom Populator
    • QuarryPopulator
    • Ruins Populator - thanks @Nightgunner5
    • Snow Populator
    • SpookyRoomPopulator
    • TorchPopulator - thanks @Nightgunner5
    • Tree Populator - thanks @heldplayer and @SpaceManiac
    • Ores! - thanks @Notch
    Fun extras:
    • Will generate a heightmap image if you don't specify any!
    Screenshots:
    [​IMG]

    [​IMG]

    Changelog:
    • v1 - released awesome plugins
    • v2 - added block populator for ores, thanks @Pandarr also added awesome cavegen, thanks me!
    • v3 - added fixed populators and cleaned up code, thanks @SpaceManiac (no extra configuration options this time - sorry) :p
    • v3.1 - re-added caves (minus the memory leak) - added proper ore population :D
     
    glen3b, hammale, TAT and 9 others like this.
  2. Offline

    codename_B

    Ok, so how do I use it?

    EDIT: hmmmm, that would need a little changing but I'll try it.

    EDIT: that would need a lot of changing. There's several things in that that aren't related to anything. Write me a nice class, and I'll do it.
     
  3. Offline

    davr

    It's your plugin, not mine...if I were to write a nice class I'd write my own plugin :p
     
  4. Offline

    codename_B

    Hey, it's simple as if people want the ability to draw an image in anything other than height - they need to write a function to transform a color into a block ID with a corresponding color. If noone does that, I won't add it as I have no desire to see that as a feature.
     
  5. Offline

    LanToaster

    Can you maybe Hook into the WorldGeneration and Generate stuff below the Heightmap?
     
  6. Offline

    codename_B

    ?
    This IS a world generator - and it generates ores and stuff below the heightmap already :S
     
  7. Offline

    LanToaster

    I Thought it was just the HeightMap, because it says "Coming Soon" for Trees and Ressources.
     
  8. Offline

    codename_B

    If you look at version 2 (which only worked yesterday on a non-RB, it has it)
     
  9. Offline

    sfxworks

    ...THIS will be EXTREMELY USEFUL

    Also, do I take any old image? Is it 1 pixed per block? Anyway to edit the amount of ore spawning? Tree spawning? Can a certain color be a certain biome? Does darker = Higher? Can I add custom trees and dungens using the BO2 populator?

    What you here THE TOOL I have been looking for. Im looking to make continents and oceans and this is A LOT easier than doing it by hand.

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

    codename_B

    It takes any old image: yes.
    It it one pixel per block? yes.
    No way currently, but I can add it for you easily.
    You can turn tree spawning on/off in the config.
    I tried the BO2 populator, but it's not working very well, once that is working better there is no reason I couldn't use it.
    The way the heightmap works is the way any heightmap works - white = highest, and for color, the height is a function of R+G+B.

    Any image at all :D ;) :O

    p.s. pm me about working on things for $$$.
     
  11. Offline

    LanToaster

    Iam Trying this out with a 2500X2500 Image. But the Plugin just says:
    So, it doesnt Create a World with the Name i Specified, or does use the Image if I create a World with Multiverse.

    Tried to set it to Default aswell.
    Hope you can tell me what i did wrong.
     
  12. Offline

    sfxworks

    Yo! I don't know if you received my pm. I would really like your help in modifying this plugin to fit my needs. Please email me at sfxworks@gmail.com if you are interested.
     
  13. Offline

    codename_B

    I'm pretty sure it generated an world from the image you specified considering it loaded that successfully, I guess it's not 100% multiverse compatible or something - go post on their thread - I know for a FACT that this generates lovely worlds.
     
  14. Offline

    LanToaster

    So, tested it Without any other Plugin:
    Config:
    ServerLog:
    And no world_ocean to be found.

    Also, it would be great if you could set the WaterLevel via ConfigFile.
    So i could raise the WaterLevel in my Ocean World.
     
  15. Offline

    Dinnerbone Bukkit Team Member

    Getting many concurrent modification exceptions while running this, but I do love the results. They seem to have a % of happening at any moment a new chunk is generated, with or without anyone online.

    Code:
    2011-06-26 04:41:49 [SEVERE] java.util.ConcurrentModificationException
    2011-06-26 04:41:49 [SEVERE]    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:782)
    2011-06-26 04:41:49 [SEVERE]    at java.util.ArrayList$Itr.next(ArrayList.java:754)
    2011-06-26 04:41:49 [SEVERE]    at com.ubempire.map.FlatMapPopulator.populate(FlatMapPopulator.java:57)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:193)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:103)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:92)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:60)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:461)
    2011-06-26 04:41:49 [SEVERE]    at com.ubempire.map.FlatMapPopulator.populate(FlatMapPopulator.java:70)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:193)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:111)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftServer.createWorld(CraftServer.java:432)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftServer.createWorld(CraftServer.java:375)
    2011-06-26 04:41:49 [SEVERE]    at com.ubempire.map.NoisyMap.onEnable(NoisyMap.java:45)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:857)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:264)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
    2011-06-26 04:41:49 [SEVERE]    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    2011-06-26 04:41:49 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  16. I'm looking to generate an oceanic-continental world, and to do so I'm editing a pre-generated minecraft cartograph with paint to create vast oceans. I then want to generate that world. Can you hook me up with something that'll allow me to convert this cartograph png into a heightmap? Thanks.
     
  17. Offline

    DreadKyller

    as seing a cartograph usually has deeper oceans a deeper blue, then just using the colored map image should give some of the result, if not just more editors have a "Convert to black and white" use that, and that should give you a fairly decent hightmap
     
  18. Offline

    codename_B

    Thanks for the feedback db, I'll look into this and see if I can sort it, I have an idea of the code that could be causing that.
     
  19. Offline

    Dinnerbone Bukkit Team Member

    (I fixed it myself by just making a copy of the snake list and working on that, while resetting the original)
     
  20. Offline

    DreadKyller

    @codename_B if you don't know where it is the error shows the line. line 57 in FlatMapPopulator.java.
     
  21. Offline

    codename_B

    Would you mind posting your fix? :) It would save me a little bit of effort.
    P.S. glad you're finding this useful :D nice to know that even the bukkit admin team like a bit o' banana ;)
     
  22. Offline

    STHedgeHog

    Hello, Ive got an issue with v2.
    If i use v1 it geneterates the world fine, looks jsut like the picture i gave it and is all good, however..
    If i then stop the server, delete the world and upgrade BananaImageToMap from v1 to v2, once i restart the server it all loads fine but dosent generate any map.
    There are no errors in the log and ive tried it without any other plugins at all.
    Either im missing something or v2 just isnt playing nice for me :(
     
  23. Offline

    codename_B

    V2 changes how it does things - it needs to be setup in bukkit.yml in order to work. Sorry :S

    I'll release a "default world" and a "multiworld" version for 2.1 due within the next week or so, also fixing the ArrayModificationException Dinnerbone reported in the thread.

    I won't be changing much else yet, but sneaky tip, I'm playing with a cavegen based off rgb levels too!
     
  24. Offline

    STHedgeHog

    Sounds intresting. I did try starting with v1 then updating to v2 once the world was created but that didnt seem to work either. I'll stick to v1 till 2.1 is out cause i'd most likely break something major poking around in the main bukkit.yml, making the other server admins very unhappy lol.
    All in all this plugin is excelent tho, so many possabilities :D
     
  25. Offline

    codename_B

    It's very simple to add a world in bukkit.yml
    Code:
    worlds:
        world:
            generator: BananaImageToMap
    
    This will set the default generator for world "world" as BananaImageToMap (ie if you delete the world folder, it will generate using the plugin.)
     
  26. Offline

    STHedgeHog

    Ok then, sounds simple enought ill gove that a go, ty.
     
  27. Offline

    LanToaster

    So, aftere you were so nice to Post a way How your Plugin actually works. I managed to Create a World. Wich is by far not what i was Expecting.
    I used the Attached image. And all the Gray should be Ocean. I wanted a nice Swirly OceanFloor. Where the Middle is the Deepest Spot, and the White Spots should be Islands.

    I tried many Different things with the Map, like making everything almost Black, the "Best" result was a 2-3 Block High Flatland with large 1 Block deep Seas.
    Are you Planning to implement a Feature where i can Decide where the WaterLevel is, or at wich Coordinate he Starts to render the Heightmap.

    And maybe Settings to the Underground Generation. Dont like having Lapis Lazuli 4 blocks below earth. Maybe just allowing to use the standart Cave and Dungeon Algorithm.

    I would love an Answer from wich i can tell that this Plugin will be what i Need, or if iam going to need to Look further.
     

    Attached Files:

    • test.jpg
      test.jpg
      File size:
      329.2 KB
      Views:
      15
  28. Offline

    codename_B

    Water level = 55;
    If color is solid black - it is water 5 blocks deep. The terrain is geared towards nice landscapes rather than deep oceans.

    In the next update I will be adding config options for all these things.

    The heightmap is centered around 0,0.
     
  29. Offline

    STHedgeHog

  30. Offline

    codename_B

    Version 2.1 - needs tested as I can't atm
    http://www.sendspace.com/file/mcrmlu
    On netbook - so no way to test (or do a large-scale render of a test using BMR etc)

    Thanks in advance to my testers! Let me know how it looks and how well things tile please.
     
  31. Offline

    STHedgeHog

    Downloaded and tested on the server with no errors. Stupidly updated my MC to 1.7 (and onto 1.7_01 after) so had to update craftbukkit so i could see. So, i can confirm it runs on CB948 without a problem. Now im in and running around it all looks good, as soon as i can convince Dynmap to stop throwing errors ill try to get some pictures up if i can.
     

Share This Page