geforkt von Mirrors/FastAsyncWorldEdit
Fix infinite loop re-sizing block state internal ID array.
Dieser Commit ist enthalten in:
Ursprung
efc4d7cba1
Commit
542f87b8f7
@ -57,8 +57,12 @@ public final class BlockStateIdAccess {
|
|||||||
OptionalInt id = getBlockStateId(blockState);
|
OptionalInt id = getBlockStateId(blockState);
|
||||||
if (id.isPresent()) {
|
if (id.isPresent()) {
|
||||||
int i = id.getAsInt();
|
int i = id.getAsInt();
|
||||||
while (i >= blockStates.length) {
|
if (i >= blockStates.length) {
|
||||||
blockStates = Arrays.copyOf(blockStates, blockStates.length + blockStates.length >> 1);
|
int curLength = blockStates.length;
|
||||||
|
do {
|
||||||
|
curLength += curLength >> 1;
|
||||||
|
} while (i >= curLength);
|
||||||
|
blockStates = Arrays.copyOf(blockStates, curLength);
|
||||||
}
|
}
|
||||||
BlockState existing = blockStates[i];
|
BlockState existing = blockStates[i];
|
||||||
checkState(existing == null || existing == blockState,
|
checkState(existing == null || existing == blockState,
|
||||||
|
Laden…
x
In neuem Issue referenzieren
Einen Benutzer sperren