Skip to content

Commit 580f6c7

Browse files
committed
//brush deform: Add inputExtent parameter and separate in/outputTransform for deformRegion
1 parent 3a6ea42 commit 580f6c7

File tree

1 file changed

+8
-4
lines changed
  • worldedit-core/src/main/java/com/sk89q/worldedit/function/factory

1 file changed

+8
-4
lines changed

worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.sk89q.worldedit.WorldEdit;
2626
import com.sk89q.worldedit.WorldEditException;
2727
import com.sk89q.worldedit.extent.Extent;
28+
import com.sk89q.worldedit.extent.InputExtent;
2829
import com.sk89q.worldedit.extent.NullExtent;
2930
import com.sk89q.worldedit.function.Contextual;
3031
import com.sk89q.worldedit.function.EditContext;
@@ -127,23 +128,26 @@ public Operation createFromContext(final EditContext context) {
127128

128129
final Transform transform = TransformUtil.createTransformForExpressionCommand(mode, min, max, offset);
129130
LocalSession session = context.getSession();
131+
EditSession editSession = (EditSession) context.getDestination();
130132
return new DeformOperation(context.getDestination(), region, transform, expression,
131-
session == null ? WorldEdit.getInstance().getConfiguration().calculationTimeout : session.getTimeout());
133+
session == null ? WorldEdit.getInstance().getConfiguration().calculationTimeout : session.getTimeout(), editSession.getWorld(), transform);
132134
}
133135

134136
private record DeformOperation(
135137
Extent destination,
136138
Region region,
137-
Transform transform,
139+
Transform targetTransform,
138140
Expression expression,
139-
int timeout
141+
int timeout,
142+
InputExtent sourceExtent,
143+
Transform sourceTransform
140144
) implements Operation {
141145
@Override
142146
public Operation resume(RunContext run) throws WorldEditException {
143147
try {
144148
// TODO: Move deformation code
145149
final EditSession editSession = (EditSession) destination;
146-
editSession.deformRegion(region, transform, expression, timeout, editSession.getWorld(), transform);
150+
editSession.deformRegion(region, targetTransform, expression, timeout, sourceExtent, sourceTransform);
147151
return null;
148152
} catch (ExpressionException e) {
149153
throw new RuntimeException("Failed to execute expression", e); // TODO: Better exception to throw here?

0 commit comments

Comments
 (0)