[TOOL] Biome Painter [1.1] - Edit your Minecraft world's biomes

  • #41
    Quote from SeansanAstrail

    I suppose you meant "centred on a region"?

    This would be useful. Maybe just showing adjacent regions (or the edge of them) would be a good first step.


    Yeah I understand needing to be able to line up work that straddles the edge of a region. I've thought about solutions, however I wasn't planning on changing anything due to the difficulty in making it work at all, let alone not be terribly slow. Only showing one region at a time was a trade-off I decided on when I started in the interest of just getting something that works at all.

    The best solution would be making it so you don't have to worry about regions at all, and let you scroll over an entire world freely, loading chunks as you go. But doing that and keeping track of the selection as well as changes to biomes so they can be undone/redone and eventually saved makes my brain hurt. :/

    I'll revisit finding a way to show a couple of chunks into adjacent regions, but I really, really can't promise anything will come of it. Most feasible would be making only the current region editable, while the edges of the surrounding regions visible but read-only.

    Either way there'll be a new version within the next couple of days with at least a few small changes. And again, thank you all for the feedback.
    Last edited by 31stCenturyMatt: 4/9/2012 7:57:13 AM
  • #42
    Actually, scratch that. New version today based on feedback. Download link in original post, full changelog at https://github.com/mblaine/BiomePainter/blob/master/CHANGELOG.txt.

    I'll look into displaying more than one region at a time, but we'll see. Sorry I can't promise more. And feedback welcome. :)
  • #43
    Quote from 31stCenturyMatt

    It wasn't lame, it was just difficult to implement. Add to or remove from the selection based on biome, like I did with by blocks, will be in the next version. Still working on the bug where it gets stuck panned over to the bottom right corner of the region. I really appreciate the feedback!


    Add by biome is awesome, that will be a big help.

    Quote from 31stCenturyMatt

    Actually, scratch that. New version today based on feedback. Download link in original post, full changelog at https://github.com/m...r/CHANGELOG.txt.

    I'll look into displaying more than one region at a time, but we'll see. Sorry I can't promise more. And feedback welcome. :)


    Looks good to me, and having the surrounding regions in preview only would be fine for me, as long as they switch layer modes along with the working region, that would be great.
    D_B
    To tell them how to live is to prevent them living.
  • #44
    Quote from Dweller_Benthos

    Looks good to me, and having the surrounding regions in preview only would be fine for me, as long as they switch layer modes along with the working region, that would be great.


    That will be the most feasible. Making it obvious that the outer ring of chunks can't be edited to users that don't know about this will be tricky though.
  • #45
    Can this do other dimensions (the Nether and the End)? I believe they store biome information in the same manner, and it would be incredibly helpful for what I'm doing. :)

    To clarify, I need to change Nether biome information from the "Hell" biome (in which Nether mobs spawn) to an Overworld biome of some kind. I know for sure that Nether mobs' spawn conditions are directly linked to the biome type, as I've toyed with tweaking Overworld biomes before. This would be the inverse, so things like no day/night cycle, unusual lava flow, no sleeping and so on would still function, but normal Overworld mobs would spawn. If you could do this, I'd be very grateful.
    Last edited by NoviBliss: 4/9/2012 11:53:56 PM
  • #46
    Quote from NoviBliss

    Can this do other dimensions (the Nether and the End)? I believe they store biome information in the same manner, and it would be incredibly helpful for what I'm doing. :)

    To clarify, I need to change Nether biome information from the "Hell" biome (in which Nether mobs spawn) to an Overworld biome of some kind. I know for sure that Nether mobs' spawn conditions are directly linked to the biome type, as I've toyed with tweaking Overworld biomes before. This would be the inverse, so things like no day/night cycle, unusual lava flow, no sleeping and so on would still function, but normal Overworld mobs would spawn. If you could do this, I'd be very grateful.


    At the moment I would recommend going into your world's save folder, rename the folder "region" to something else, such as "_region". Then go into "DIM-1" for the Nether or "DIM-2" for the End, and cut the "region" folder there, go up one level, and paste. Then open the world in Biome Painter, make and save your changes, move the "region" folder back to "DIM-1" or "DIM-2", and rename "_region" back to "region". Convoluted, but it should work.
  • #47
    Quote from 31stCenturyMatt »

    ...


    Yep, sure did! Seems obvious in retrospect; I just didn't think to try. Thanks a lot, and it works exactly the way I was hoping it would! This should be pretty interesting and awesome. :)
  • #48
    Excellent tool. You have achieved something that many people have wished for for a long time.

    I also have a suggestion:
    This is for some time down the line, in a future update, if it's not going to be too difficult as I realise that it will probably require a decent amount of work..
    My suggestion would be the integration of MisterFibers ExtraBiomesXL mod so that we could paint these biomes over the world. Here is the link to his thread - http://www.minecraftforum.net/topic/1090288-124-125-extrabiomesxl-v113-classic-v115-classic-updated-for-125/
    It couldn't hurt to ask MisterFiber for any information that you might need to see if it is a do-able option.
    The biomes on offer from this mod are far more varied and far superior to those offered by vanilla Minecraft and it is a very popular mod that would only add to the popularity of your own mod. Whether you could do this as a selectable option between Vanilla and EBXL or have BiomePainter load a biome file (like World Painter does) or whichever way suits you best.

    I look forward to reading what you think and if you think it may be possible.
  • #49
    Quote from 31stCenturyMatt

    That will be the most feasible. Making it obvious that the outer ring of chunks can't be edited to users that don't know about this will be tricky though.


    Some sort of tinting or grid overlay, as long as it's not too obnoxious, would be fine. Easy to do, that I'm not sure of.
    D_B
    To tell them how to live is to prevent them living.
  • #50
    Your tool is great! It works perfectly! ^_^
    Now I could get rid of some swamp biomes and some litte failures when i worked on my map with mcedit :)

    But it's a little confusing that I can't mark things when "Tool Tips" is enabled oO

    I have 2 suggestions, maybe they are possilble:
    - It would make some things sometimes easier if i could load a few map parts at once.
    - An option to remove snow and/or trees before adding new ones if wanted
  • #51
    Quote from Kaioshin213

    But it's a little confusing that I can't mark things when "Tool Tips" is enabled oO

    You're saying left or right clicking on the image with tool tips enabled doesn't draw on the image? Hmmm... Do you know what operating system you are using?

    Quote from Kaioshin213

    - An option to remove snow and/or trees before adding new ones if wanted


    Maybe, though this program really isn't designed to edit blocks. For the moment I'd recommend a program like MCEdit for replacing logs/leaves/snow with air.

    ________________________________________________

    New version, download link in op, full changelog at https://github.com/m...r/CHANGELOG.txt.

    Changes are: Two rings of read-only chunks from adjacent regions are displayed around the currently loaded one. After opening a world, you can switch to viewing a list of regions from the Nether or End from the file menu. And now biomes are read in from a file, Biomes.txt. For more details on that, please view the changelog. And thank you. :)
    Last edited by 31stCenturyMatt: 4/11/2012 12:10:25 AM
  • #52
    Awesome new update! Love the fact we can change colors, some of the greens used look very similar on my system for some reason.

    FYI for all you do-it-yourself customizers out there, colorpicker.com is an easy way to select colors visually and grab the hex number to plug into the config file.
    D_B
    To tell them how to live is to prevent them living.
  • #53
    Hi, 31stCenturyMatt!

    This is a fantastic program, you have made there! As an admin, who manages a private alpha-world on a server since 2010, your retroBiomes and this Biome Painter are some of the most important tools!


    This is my first post in the minecraft-community in general, and this is because of a request for this tool:

    I see a great potential of this program to be a anvil-compatible mapping programm! Most of the needed procedures are already in place, whats missing are routines for saving and reading of png-files.
    I have used PixelMap before, but this isn't anvil-compatible and who knows when the developer does have time for it.



    If I'm allowed,I would like to suggest some things, you could implement:

    - introduction of a cache-folder, where a relatively independent thread of the program could store images of the biome and landscape layers as pngs in world subfolders and subfolders for different dimensions, and each region's png with coordinates and an hashcode of the region as a name.
    The thread could have a queue of all regions of the opened world, maybe with an option to only compute regions which can be seen at the moment.

    - if the png of the region already exists and the hash of the region is the same as in the png's name, there is no need to load and compute the region again.

    - those pngs could be "mipmapped" (maybe one chunk -> one pixel) to make it possible to show an overview of the whole map inside the Biome Painter with tiny resources!

    example:
    [pixelcolour]=add each colour/(16*16)
    or something like that

    -transparency for glass, ice and water with a factor

    exaple:
    go down to block which is not ice/water/glass
    do until block=air
    [new colour]=[colour before]*0.6+[colour of ice/glass/water]*0.4
    go one up
    loop

    -colourmap with block ids, the same you just did with the biomes ;)

    -Global biome-changing operations, to merge the funktionality of retroBiomes with all the things you've implemented afterwards within Biome Painter. This could also be done through the mipmapped overview, where each pixel can stands for a whole chunk and a selektion mask, if one likes to do it manually

    -save the whole world as landscape-map/biome-map through putting all the cached pngs toghether
    alpha-channel=0 where no chunk exists

    -command-line operators for all things one can think of! (XD):
    worldpath
    X/Z or region coords for a selection box (else global)
    dimension
    close after finishing?
    map slice of the wold (from y1 to y2) (useful for nether)
    output png as a world map, landscape-map or biome-map
    replace id1, id2
    fill with id
    ...?

    All those global operations can be done through loading and saving the regions one after another, like retroBiomes does.

    -new tools?
    box (through dragging), (bigger) circle, bucket (to fill an outlined area)


    Do you understand, why I see so much potential? ;D

    For me, it is important to have an offline mapping-tool to generate a birds-eye view of the world. It's a pity that mcmap doesn't have it up till now. So I just ask you ^^

    I'm open for questions

    Have a good day!
  • #54
    Quote from 31stCenturyMatt

    You're saying left or right clicking on the image with tool tips enabled doesn't draw on the image? Hmmm... Do you know what operating system you are using?


    Yeah, I can't use the brush with too tips on. I have WinXP SP3


    Maybe, though this program really isn't designed to edit blocks. For the moment I'd recommend a program like MCEdit for replacing logs/leaves/snow with air.


    Ok :)
  • #55
    Quote from Kaioshin213

    Yeah, I can't use the brush with too tips on. I have WinXP SP3



    I can confirm this, I've the same system. Everytime you click, the program's window flickers once (foreground/background switching) and nothing happens on the image. If you click often, this can be overcome.
  • #56
    Exactly. Forgot to edit my post that it works sometimes if I click often
  • #57
    An update: I fixed the thing with tooltips getting in the way on Windows XP, it'll be in the next version.

    Being able to globally apply or replace a biome or biome scheme like in Minecraft Retro Biomes, except not just Beta 1.7 biomes, is a good idea. Not sure how to handle the ui for that though. Maybe only through command line options, and then no gui whatsoever, just text output? It'd make implementing it simpler. I'll think about it.

    I'll look at adding more selection options (dragging a rectangle, bucket fill).

    I'll also look at improving the terrain map with transparent water and glass. With all of this, no promises, of course, sorry. :)

    Caching images of regions to improve load times and support showing wider areas of a world is brilliant, I wouldn't have thought of that, but unfortunately it's unlikely I'll get to that.

    As for an overhead mapping tool, I put together a little program that just goes over all the regions in a world and spits out a png, using the same code Biome Painter uses for the terrain map. It's not very well polished, but you can give it a try: https://github.com/downloads/mblaine/Topographer/Topographer-0.1pre-bin.zip (source code available at: https://github.com/mblaine/Topographer).
  • #58
    I thank you very much for this!
    It's even customisable! ^_^

    Works great, but seems to have some bugs with the damage value (Bug 1).
    All listed colours in "Blocks.txt" are correctly drawn for the corresponding block in the world, IF there is no damage value involved.

    What I did:
    -make a 4x4 pattern of wool, colours in the same order like in the creative inventory
    (white is the first, black the last block)

    damage value array in this field:
    00 01 02 03
    04 05 06 07
    08 09 10 11
    12 13 14 15

    What happened:
    On the generated map the 1. and the 2. row are flipped with each other, as are the 3. and the 4.
    It shows the colours as they would be in this order:
    04 05 06 07
    00 01 02 03
    12 13 14 15
    08 09 10 11

    The blocks in the list have the right colour, so it's a bug in the code.
    Also powered redstone wire does only show up as unpowered, despite the damage value being more than 0.

    I have added some values to the block list for you, here is the new list:


    1;7e7e7e #stone
    2;62a238 #grass
    3;866043 #dirt
    4;7c7c7c #cobble
    5,47,85,107;a08250 #planks, bookshelf, fence, gate
    8,9;2a5fff #water
    10,11;f74700 #lava
    12;dbd3a0 #sand
    13;857d7d #gravel
    14;928e7d #gold ore
    15;89837f #iron ore
    16;727272 #coal ore
    17;a38452 #log
    18;2c5619 #leaves
    18:1;2d472d #pine leaves
    18:2;074b36 #birch leaves
    19;b5b538 #sponge
    21;636f88 #lapis ore
    22;1d46a6 #lapis block
    23;676767 #dispenser
    24;dad29f #sandstone
    25;6c4734 #noteblock
    29;8d9462 #sticky piston
    32;946428 #dead bush
    33;9b8157 #piston

    35:0;dfdfdf #white wool
    35:1;ea8037 #orange
    35:2;bf4cc9 #magenta
    35:3;688bd4 #light blue
    35:4;c2b51c #yellow
    35:5;3bbd30 #lime green
    35:6;d9849b #pink
    35:7;434343 #dark gray
    35:8;9ea6a6 #light gray
    35:9;277596 #cyan
    35:10;8136c4 #purple
    35:11;27339a #blue
    35:12;56331c #brown
    35:13;384d18 #green
    35:14;a42d29 #red
    35:15;1b1717 #black

    37;f1f902 #yellow flower
    38;f7070f #red flower
    41;fbf152 #gold block
    42;e0e0e0 #iron block
    45;916052 #brick
    48;697b69 #mossy cobble
    54;8e6525 #chest
    56;828f92 #diamond ore
    57;6fdfda #diamond block
    58;764e2f #workbench
    60;724b2d #farmland
    61,62;676767 #furnace
    73,74;866969 #redstone ore
    79;7eaeff #ice
    78,80;f1fcfc #snow cover, block
    81;0b5715 #cactus
    82;9fa4b1 #clay
    83;a0e080 #sugar cane
    84;734d39 #jukebox
    86,91;c27816 #pumpkin, jack-o-lantern
    87;703635 #netherrack
    88;543f33 #soul sand
    89,123,124;927848 #glowstone, redstone lamp
    98;7d7d7d #stone brick
    99;8d6a53 #huge brown mushroom
    100;b72725 #huge red mushroom
    103;969925 #melon
    110;6f6469 #mycelium
    111;13621c #lily pad
    112,113;2d171b #nether brick, fence
    121;dddfa5 #end stone

    50;FFF032 #torch

    55:0;500000 #redstone wire, power: 0
    55:1;5A0000 #redstone wire, power: 1
    55:2;640000 #redstone wire, power: 2
    55:3;6E0000 #redstone wire, power: 3
    55:4;780000 #redstone wire, power: 4
    55:5;820000 #redstone wire, power: 5
    55:6;8C0000 #redstone wire, power: 6
    55:7;960000 #redstone wire, power: 7
    55:8;A00000 #redstone wire, power: 8
    55:9;AA0000 #redstone wire, power: 9
    55:10;B40000 #redstone wire, power: 10
    55:11;BE0000 #redstone wire, power: 11
    55:12;C80000 #redstone wire, power: 12
    55:13;D20000 #redstone wire, power: 13
    55:14;DC0000 #redstone wire, power: 14
    55:15;E60000 #redstone wire, power: 15

    94;FF6363 #repeater on
    93;996D6D #repeater off

    76;DC2D14 #rstorch on
    75;824839 #rstorch off

    30;DCDCDC #cobweb
    117;A0A06E #brewing stand
    116;822846 #enchantment table

    70;7e7e7e #stone pressure plate
    72;a08250 #wooden pressure plate

    26:0,26:1,26:2,26:3;8F0C13 #bed lower half
    26:8,26:9,26:10,26:11;B77C87 #bed higher half

    49;241351 #obsidian (mod)
    7;323232 #bedrock (mod)

    59;917B0E #wheat/seeds
    115;81080A #netherwart

    118;424242 #cauldron
    51;FC7800 #fire
    46;C13C17 #tnt

    43:0,44:0,44:8;a3a3a3 #stone slabs
    43:1,44:1,44:9;dad29f #sandstone slabs
    43:2,44:2,44:10,53;a08250 #wood slabs, stairs
    43:3,44:3,44:11,67;7c7c7c #cobble slabs, stairs
    43:4,44:4,44:12,108;916052 #bricks slabs, stairs
    43:5,44:5,44:13,109;7d7d7d #stone brick slabs, stairs
    114;2d171b #netherbrick stairs


    Bug 2: The program does only show torches, which are directly on the ground. Maybe due to some (now) faulty handling of transparency.

    I don't know, if it is a problem, but I've seen an old mapper named "Minecraft Topographer" here:
    http://www.minecraft...ft-topographer/
    Only for your info.

    Am I right, that your Topographer puts the rendered images into the ram, and writes them to disk, when all parts are rendered?
    This might cause memory shortages with big worlds. (-> Cache :) )


    Thanks again for your great work, keep it up!
    Someone should post this on reddit or so, some have asked how to render a world like this a while ago.
    Last edited by Neutrino: 4/13/2012 9:37:46 PM
  • #59
    Quote from Neutrino

    ...


    I found the problem with damage values, I never would have noticed if you hadn't pointed that out, thank you.

    I'm not good at coming up with creative names for things, and since that other project hasn't been updated in a couple of years, I guess I'll stick with Topographer until someone complains.

    I'll release an updated version with some nicer features in the next few days. However, I would point out a version of PixelMap that seems to work with Anvil worlds, or it at least works for the worlds I tried it on. http://www.minecraftforum.net/topic/69883-pixelmap/page__st__240__p__14259502#entry14259502
  • #60
    I did a post in McTwist's thread thanking him for PixelMap, plus that:

    I did a quick test on both PixelMap versions, but the outcome isn't that pretty ^_^
    System: WinXP 32bit, C2D E8400, 4GB Ram, nVidia GTX260

    31stCenturyMatt's version: has a dependency to "libgcc_s_dw2-1.dll" and won't start without it.
    McTwist's version: crashes after a short time with default settings with >>The instruction at "0x004166d7" referenced memory at "0x01f0e91d". The memory could not be "read".

    I will help, where I can.
    I wish happy coding to both of you and the best success!
  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes