Skip to main content

Desperate Teacher - I need a really big sphere! HELP!! Worldedit??



  • Frank Claikens

    I quickly wrote a program in python that will do that for you:

    To use the program:
    - Import it in the codebuilder.
    - Change the emerald block to the desired block.
    - First (!) use the 'setCenter' chatcommand with 3 parameters beeing the x, y en z coördinates of your desired center of the sphere. (warning: these values will reset every time you open de codebuilder window)
    - Then use the chatcommand sphere with a parameter for the radius.

    So in the chatbox first type someting like:
    setCenter 0 50 0
    for setting the center coördinates, then type:
    sphere 40
    it will now start building a sphere with radius 40 around the center with world coördinates 0 50 0.

    The program just uses the distance formula for each block.
    It will take a while to build but it will work. 
    Player is always teleported to the direct neigbourhood of where the next block is to be placed to avoid rendering distance issues.
    This program is for a hollow sphere, you can change the code a little bit for a filled sphere (see comments) but that will take even longer.



  • David Eichler

    Thanks for this! I will check it out!


  • David Eichler

    First off, thank you so very much for writing this code. I greatly appreciate your effort and your help. However I think I am doing something wrong, because I can't get it to work.

    I've tried this several times and nothing seems to happen.

    Here is the code as I have copy and pasted into the code builder under Python  

    When I type "setCenter 0 83 0" nothing happens. If I use "/setCenter 0 83 0" I get an error Unknown Command.

    Same thing when I type "sphere 143". Nothing happens.

    I tried to convert the Python to Block but I get an error, "Oops, something went wrong trying to convert your code." 

    What am I doing wrong? 

  • Frank Claikens

    Well I tried it with your parameters (0 83 0 for the center and 143 for the radius) and also nothing happened here.

    So I added a player.say command in the constructing loop for some 'console'-feedback to see where things could go wrong, when I did that and ran the program again it just started working all of the sudden, very strange.

    Anyway, here is the altered program:

    I also added a player.say command in the setcenter-function so you get some feedback after using the setcenter chatcommand. There is no need for slashes when using the chatcommands programmed in makecode, it was normal 'nothing happenend' when using the setcenter-command because the only thing that happened was changing some variables in the background, now (with the new version) you get some feedback so you see 'something' actually happened.

    I do have to say building spheres this big is going to take a very long time (several hours).

  • Frank Claikens

    I tried and tested the last program and discovered there was still a minor error in it resulting in gaps in the last layer on each axis (X, Y and Z), so I corrected it.

    Here is the latest version of the program:

    I also compared it to the built in sphere-function, I made 2 hollow spheres with a radius of 15.
    The left one was built with the built-in function, the right one was built by the program I wrote.
    Besides that I like my sphere a bit more, it also builts considerably faster then the built-in function. The left sphere took over 12 minutes to build while the one on the right only took about 7,5 minutes.

  • David Eichler

    Frank Claikens, Thank YOU! It worked! This thing is just stupid huge and the kids are loving it! It's so big at a radius of 143 cubs that the sun can't all render at the same time. I'm not sure how long it took to build, I started the build and went to a staff meeting, when I came back an hour later it didn't look even half done. Maybe a third-ish. I went home and left the build running all night. 

    On behalf of my students both current and future, we thank you from the bottom of our hearts. 

  • Randall Dupree

    First, thanks to David Eichler for making this post! It seems like I had the same idea as you, just 3 months later. 

    Second, thanks to Frank Claikens for the code. It worked great!


Please sign in to leave a comment.