Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

When experimenting in Minecraft I usually create a large flat area to work on using WorldEdit.

However, this usually results in a crash or big freeze.

I'm going to make a script that can take a large clear-out job and split it into lots of smaller ones and give the game time to recover. It doesn't look too hard to make this, but if I have to re-type the command and the arguments each time its going to be a hassle.

I need a variable that can persist past the execution of the script so I can do a "/next" type thing to go to the next job.

I've had a look through the api reference, but I can't see anything regarding preferences or settings or something I can use. Anyone got any ideas?

share|improve this question
    
So, the real question is, "Is there a way to make a large flat area to work on in Minecraft?" You have indicated one approach, you okay with alternative approaches? –  John Dec 30 '11 at 19:15
    
suggestions that can create a flat area in a newly generated map are welcomed. It needs to be in a newly generated map though, not just one of the "flat map" saves available. –  NickSlash Dec 30 '11 at 23:32
    
I believe there are Bukkit plugins that will generate the whole world [i.e. all new chunks] as flat. In conjunction with a multiworld plugin you could have one world as "flat world" where you do your worldediting. –  Random832 Dec 31 '11 at 9:19

1 Answer 1

I suggest you don't even use world edit, Making a bukkit plugin from scratch is very easy and very fun.

Bukkit's API has very usful block-editing tools, this peice of code here will place a block of stone(b.setTypeId(1);) above every player's head whenever they move.

    public void onPlayerMove(PlayerMoveEvent evt) {

    Location loc = evt.getPlayer().getLocation();

    World w = loc.getWorld();

    loc.setY(loc.getY()-1);
    Block b = w.getBlockAt(loc);
    if(!b.isEmpty())
    {
    b.setTypeId(1);
    }}

And as for the anti-crashing, just make the plugin run on a separate thread from the main server, this way if your plugin "crashes" the server won't respond any diffrently until the plugin has finished calculating and will finish at quicker speed.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.