{
try
{
if (i.hasNext())
{
BlockChange bc = i.next();
world = DimensionManager.getWorld(bc.getDimension());
if (bc.getType() == 0)
{
if (!undo)
{
place(bc);
}
else
{
remove(bc);
}
}
else if (bc.getType() == 1)
{
if (undo)
{
place(bc);
}
else
{
remove(bc);
}
}
currentTickChanged++;
world.markBlockForUpdate(bc.getX(), bc.getY(), bc.getZ());
}
else
{
isComplete = true;
}