Currently, i'm doing it using setBlock() in asynctask. It works, but sometimes I getting ConcurrentModificationException @Override public void onRun(){ this.level.setBlock(new Vector(x, y, z), Block.get(Block.STONE)); }