Merge pull request #568 from HazelTheWitch/fix-spline-sweep

Fixed NullPointerException in Spline and Sweep brush
This commit is contained in:
NotMyFault
2020-08-21 18:25:09 +02:00
committed by GitHub
10 changed files with 61 additions and 43 deletions

View File

@ -775,6 +775,10 @@ public abstract class BlockVector3 {
}
public final boolean equals(BlockVector3 other) {
if (other == null) {
return false;
}
return other.getX() == this.getX() && other.getY() == this.getY() && other.getZ() == this.getZ();
}

View File

@ -22,6 +22,7 @@
package com.sk89q.worldedit.math.interpolation;
import com.sk89q.worldedit.math.MutableBlockVector3;
import com.sk89q.worldedit.math.MutableVector3;
import com.sk89q.worldedit.math.Vector3;
import java.util.Collections;
@ -43,7 +44,7 @@ public class KochanekBartelsInterpolation implements Interpolation {
private Vector3[] coeffC;
private Vector3[] coeffD;
private double scaling;
private final MutableBlockVector3 mutable = new MutableBlockVector3();
private final MutableVector3 mutable = new MutableVector3();
public KochanekBartelsInterpolation() {
setNodes(Collections.emptyList());
@ -166,7 +167,7 @@ public class KochanekBartelsInterpolation implements Interpolation {
mutable.mutX((a.getX() * r3 + b.getX() * r2 + c.getX() * remainder + d.getX()));
mutable.mutY((a.getY() * r3 + b.getY() * r2 + c.getY() * remainder + d.getY()));
mutable.mutZ((a.getZ() * r3 + b.getZ() * r2 + c.getZ() * remainder + d.getZ()));
return mutable.toVector3();
return Vector3.at(mutable.getX(), mutable.getY(), mutable.getZ());
}
@Override

View File

@ -17,8 +17,7 @@ public class RoundedTransform implements Transform {
@Override
public Vector3 apply(Vector3 input) {
Vector3 val = transform.apply(input);
return Vector3.at(Math.floor(val.getX() + 0.5), Math.floor(val.getY() + 0.5), Math
.floor(val.getY() + 0.5));
return val.round();
}
@Override