Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-11-08 04:20:06 +01:00
Improved hashCode implementations for the Vector classes.
Block[World]Vector was ignoring changes of y < 128 (i.e. all of them) and changes of x < 8192.
Dieser Commit ist enthalten in:
Ursprung
3bbebcd64e
Commit
50009cc855
@ -93,8 +93,8 @@ public class BlockVector extends Vector {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return (Integer.valueOf((int)x).hashCode() >> 13) ^
|
return (Integer.valueOf((int)x).hashCode() << 19) ^
|
||||||
(Integer.valueOf((int)y).hashCode() >> 7) ^
|
(Integer.valueOf((int)y).hashCode() << 12) ^
|
||||||
Integer.valueOf((int)z).hashCode();
|
Integer.valueOf((int)z).hashCode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -126,8 +126,8 @@ public class BlockWorldVector extends WorldVector {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return (Integer.valueOf((int)x).hashCode() >> 13) ^
|
return (Integer.valueOf((int)x).hashCode() << 19) ^
|
||||||
(Integer.valueOf((int)y).hashCode() >> 7) ^
|
(Integer.valueOf((int)y).hashCode() << 12) ^
|
||||||
Integer.valueOf((int)z).hashCode();
|
Integer.valueOf((int)z).hashCode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -585,9 +585,12 @@ public class Vector {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return ((new Double(x)).hashCode() >> 13) ^
|
int hash = 7;
|
||||||
((new Double(y)).hashCode() >> 7) ^
|
|
||||||
(new Double(z)).hashCode();
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren