|
23 | 23 | import com.sk89q.worldedit.internal.expression.ExpressionEnvironment; |
24 | 24 | import com.sk89q.worldedit.math.BlockVector3; |
25 | 25 | import com.sk89q.worldedit.math.Vector3; |
| 26 | +import com.sk89q.worldedit.math.transform.SimpleTransform; |
| 27 | +import com.sk89q.worldedit.math.transform.Transform; |
26 | 28 | import com.sk89q.worldedit.world.registry.LegacyMapper; |
27 | 29 |
|
28 | 30 | public class WorldEditExpressionEnvironment implements ExpressionEnvironment { |
29 | 31 |
|
30 | | - private final Vector3 unit; |
31 | | - private final Vector3 zero2; |
| 32 | + private final Transform transform; |
32 | 33 | private Vector3 current = Vector3.ZERO; |
33 | 34 | private final Extent extent; |
34 | 35 |
|
| 36 | + @Deprecated |
35 | 37 | public WorldEditExpressionEnvironment(Extent extent, Vector3 unit, Vector3 zero) { |
| 38 | + this(extent, new SimpleTransform(zero, unit)); |
| 39 | + } |
| 40 | + |
| 41 | + public WorldEditExpressionEnvironment(Extent extent, Transform transform) { |
36 | 42 | this.extent = extent; |
37 | | - this.unit = unit; |
38 | | - this.zero2 = zero.add(0.5, 0.5, 0.5); |
| 43 | + this.transform = transform; |
39 | 44 | } |
40 | 45 |
|
41 | 46 | public BlockVector3 toWorld(double x, double y, double z) { |
42 | | - return Vector3.at(x, y, z).multiply(unit).add(zero2).toBlockPoint(); |
| 47 | + return transform.apply(Vector3.at(x, y, z)).add(0.5, 0.5, 0.5).toBlockPoint(); |
43 | 48 | } |
44 | 49 |
|
45 | 50 | public Vector3 toWorldRel(double x, double y, double z) { |
|
0 commit comments