|
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