Map Height

Discussion in 'Bukkit Discussion' started by Scyfi, Sep 14, 2011.

Thread Status:
Not open for further replies.
  1. Offline


    yeah but not to be harsh, most people on my server find it hard to navigate to a website for server info, let alone download and use a client...
  2. Offline


    Its very sad i have to say it... but unless notch changes a few things, thatll have to be their (and or your) problem :(
    itll be either taking the effort, or notextra height until someone throws a bukkit of cold water in notch's face and tells him we need this :(
  3. Offline


    he was the person who originally suggested the idea on his twitter, so when he realises the grief it causes the community, he'll soon make it easier (we hope)
  4. Offline


    They downloaded and used the Minecraft Launcher didn't they? It's no different with ours if they actually own the game.
  5. Offline


    Unless on update kills the client - 769 did so (the white screen thing ;), btw. (scnr)

    Besides that it's cool, and I loooove the texturepack loading thing. Keeps things really simple :)
  6. Offline


    Looks like the only change needed on craftbukkit side is changing to have heightBits as a passed variable instead of setting it in the class. Then WorldCreator in Bukkit needs another parameter for heightBits. bukkit.yml will also need to be extended to accept those parameters too. This also means different worlds can be different heights on the same server. A client will need to be fiddled with to support this though, probably also needs a new packet type to communicate world height changes.

    Side note: what does this operator do?
    this.height = 1 << this.heightBits;
    heightBits is 7 so I know the end result is 128, but I am interested in the math/code behind it

    edit: Ok not quite as simple as I thought, but making progress
  7. Offline


    Ok, this is a trivial change if you're ok with people just having to use a specific client for your server (trivial as in 30 seconds of work), but Bukkit currently does not support maps taller than 128 blocks. If you try, placing blocks will just place stone or adminium, and plugins such as Worldguard don't work. So odds are that nobody cares enough to make Bukkit compatible with taller worlds. The fact that despite this having being possible for months it still not being something you can do without compiling your own CB makes it pretty clear that currently the Bukkit devs simply have other priorities (not like they don't have their hands full).

    As for the operator, it's bitwise shift left: 1 << 1 becomes 10 (binary for 2), 1 << 2 becomes 100 (binary for 4), 1 << 3 becomes 1000 (binary for 8) and so on. If you are better with math than programming, you can think of "a << b" as "a * 2^b"
  8. Offline


    This won't happen, changing the map height is solidly in the realm of "add on" type functionality, it won't be added to bukkit core. Rather support needs to be added to hook into the world load event early enough to load the height of the map from a config file and pass it to the world constructor so a plugin can handle it.

    Again bukkit won't add this, this is what you'd use Spout / Spoutcraft for.

    The two offsets, which are '7' and '11' by default are used to index into data structures, mostly chunk data (11 - 7 = 4, 2^4 = 16, chunks are 16 x 16, 2^7 = 128 = world height). Just grep the code for usage of those variables, easy to find now. Took me awhile to figure it out when i was just hunting for the remainders of the in-lining process in 1.8.1 :p

    The 7 is the value you actually need to change for world height, the only other one you want to touch is sea level.
  9. Offline


    All of that is my intention.
  10. Offline


    So ... any updates on this matter since last year?
  11. Spout is working on infinite world height with cubic chunks and Jeb hat tweeted about increasing world height in the near future.
  12. Offline


    sounds fun!
    i heard there are some major performance issues with higher worlds?
    are they just something brought by some design-flaws or does this finally reaches the limit of minecraft? :D
Thread Status:
Not open for further replies.

Share This Page