Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-11-03 01:50:07 +01:00
Merge pull request #379 from boy0001/vector-fix
Vector and BlockVector should use the same hashCode
Dieser Commit ist enthalten in:
Commit
b17f2b55d7
@ -73,6 +73,11 @@ public class BlockVector extends Vector {
|
||||
super(x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return ((int) x ^ ((int) z << 12)) ^ ((int) y << 24);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof Vector)) {
|
||||
@ -84,13 +89,6 @@ public class BlockVector extends Vector {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return ((int) x << 19) ^
|
||||
((int) y << 12) ^
|
||||
(int) z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockVector toBlockVector() {
|
||||
return this;
|
||||
|
@ -69,6 +69,11 @@ public class BlockVector2D extends Vector2D {
|
||||
super(x, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return ((int) x << 16) ^ (int) z;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof Vector2D)) {
|
||||
@ -80,12 +85,6 @@ public class BlockVector2D extends Vector2D {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return (Integer.valueOf((int) x).hashCode() >> 13) ^
|
||||
Integer.valueOf((int) z).hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockVector2D toBlockVector2D() {
|
||||
return this;
|
||||
|
@ -789,12 +789,7 @@ public class Vector implements Comparable<Vector> {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
|
||||
hash = 79 * hash + (int) (Double.doubleToLongBits(this.x) ^ (Double.doubleToLongBits(this.x) >>> 32));
|
||||
hash = 79 * hash + (int) (Double.doubleToLongBits(this.y) ^ (Double.doubleToLongBits(this.y) >>> 32));
|
||||
hash = 79 * hash + (int) (Double.doubleToLongBits(this.z) ^ (Double.doubleToLongBits(this.z) >>> 32));
|
||||
return hash;
|
||||
return ((int) x ^ ((int) z << 12)) ^ ((int) y << 24);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -627,8 +627,7 @@ public class Vector2D {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return ((new Double(x)).hashCode() >> 13) ^
|
||||
(new Double(z)).hashCode();
|
||||
return ((int) x << 16) ^ (int) z;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren