mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-07-05 20:36:42 +00:00
Reorganize and further unify the new commands.
This commit is contained in:
@ -25,6 +25,7 @@ import com.sk89q.worldedit.blocks.BaseBlock;
|
||||
import com.sk89q.worldedit.extent.Extent;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
@ -64,4 +65,9 @@ public class BlockMapEntryPlacer implements Operation {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addStatusMessages(List<String> messages) {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import com.sk89q.worldedit.history.changeset.ChangeSet;
|
||||
import com.sk89q.worldedit.history.UndoContext;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
@ -79,6 +80,10 @@ public class ChangeSetExecutor implements Operation {
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addStatusMessages(List<String> messages) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new undo operation.
|
||||
*
|
||||
|
@ -21,6 +21,8 @@ package com.sk89q.worldedit.function.operation;
|
||||
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
/**
|
||||
@ -57,4 +59,10 @@ public class DelegateOperation implements Operation {
|
||||
original.cancel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addStatusMessages(List<String> messages) {
|
||||
original.addStatusMessages(messages);
|
||||
delegate.addStatusMessages(messages);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -246,4 +246,8 @@ public class ForwardExtentCopy implements Operation {
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addStatusMessages(List<String> messages) {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ package com.sk89q.worldedit.function.operation;
|
||||
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* An task that may be split into multiple steps to be run sequentially
|
||||
* immediately or at a varying or fixed interval. Operations should attempt
|
||||
@ -49,4 +51,12 @@ public interface Operation {
|
||||
*/
|
||||
void cancel();
|
||||
|
||||
/**
|
||||
* Add messages to the provided list that describe the current status
|
||||
* of the operation.
|
||||
*
|
||||
* @param messages The list to add messages to
|
||||
*/
|
||||
void addStatusMessages(List<String> messages);
|
||||
|
||||
}
|
||||
|
@ -19,11 +19,13 @@
|
||||
|
||||
package com.sk89q.worldedit.function.operation;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.Collection;
|
||||
import java.util.Deque;
|
||||
import java.util.List;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
@ -32,6 +34,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
*/
|
||||
public class OperationQueue implements Operation {
|
||||
|
||||
private final List<Operation> operations = Lists.newArrayList();
|
||||
private final Deque<Operation> queue = new ArrayDeque<Operation>();
|
||||
private Operation current;
|
||||
|
||||
@ -51,6 +54,7 @@ public class OperationQueue implements Operation {
|
||||
for (Operation operation : operations) {
|
||||
offer(operation);
|
||||
}
|
||||
this.operations.addAll(operations);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -100,4 +104,11 @@ public class OperationQueue implements Operation {
|
||||
queue.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addStatusMessages(List<String> messages) {
|
||||
for (Operation operation : operations) {
|
||||
operation.addStatusMessages(messages);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user