Map Height

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

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

    Isocadia

    Just a way to hard to do idea that might make it in the future:

    What if non spout users get send 128 heigh slices of the world, where if they enter a certain part, they get TP'd to the bottom with a new slice being send updating all the chunks with the new 128 heigh data?
     
  2. Offline

    xianthax

    You need to hook in after the world object has been created (which doesn't mean the "World" is created just that the world object has been created) but before any processes that require the height values execute on the object. If loading an existing world you'd have to access what the height of that saved world was pre-load to set the values correctly and safely. One example way to do this is to modify the world constructor or "WorldSettings" object to support world height values.
     
  3. Offline

    SaignementsRose

    Yeah I have no idea what you mean... so I'll just have to wait for people who do know what their doing to make a plugin for it - which from what I hear Spout/Spoutcraft is going to incorporate it.
     
  4. Offline

    Jackster21

    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...
     
  5. Offline

    Cere4l

    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 :(
     
  6. Offline

    Jackster21

    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)
     
  7. Offline

    Wulfspider

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

    Klotzonator

    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 :)
     
  9. Offline

    croxis

    Looks like the only change needed on craftbukkit side is changing World.java 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?
    Code:
    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
     
  10. Offline

    DeLux

    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"
     
  11. Offline

    xianthax

    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.
     
  12. Offline

    croxis

    All of that is my intention.
     
  13. Offline

    elias79

  14. Offline

    Klotzonator

    So ... any updates on this matter since last year?
     
  15. Offline

    Hiramas

    Spout is working on infinite world height with cubic chunks and Jeb hat tweeted about increasing world height in the near future.
     
  16. Offline

    Kostronor

    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