Vector3iList class
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.util
Файл: com/hypixel/hytale/builtin/adventure/worldevents/util/Vector3iList.java
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Vector3iList |
EMPTY |
|
int |
var1 |
|
int |
var2 |
|
int |
var3 |
|
int |
var3 |
|
int |
var4 |
Методы (14)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
UnsupportedOperationExceptionthrow new UnsupportedOperationException() |
|
public void |
addpublic void add(int var1, int var2, int var3) |
public |
void |
addvoid add(@Nonnull Vector3i var1) |
public |
void |
addvoid add(@Nonnull Vector3ic var1) |
public |
void |
addvoid add(int var1, int var2, int var3) |
public |
void |
clearvoid clear() |
public |
void |
copyvoid copy(@Nonnull Vector3iList var1) |
public |
boolean |
emptyboolean empty() |
protected |
void |
ensureCapacityvoid ensureCapacity() |
public |
Vector3i |
getVector3i get(int var1, @Nonnull Vector3i var2) |
|
|
if if(this.size == 0) |
|
|
if if(this.size > 1) |
public |
boolean |
removeboolean remove(int var1) |
public |
int |
sizeint size() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.util;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import java.util.Arrays;
class="kw">import java.util.random.RandomGenerator;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;
class="kw">import org.joml.Vector3ic;
class="kw">public class Vector3iList {
class="kw">public class="kw">static class="kw">final Vector3iList EMPTY = new Vector3iList() {
@Override
class="kw">public void add(int var1, int var2, int var3) {
throw new UnsupportedOperationException();
}
};
class="kw">protected class="kw">static class="kw">final int COMPONENTS = 3;
class="kw">protected class="kw">static class="kw">final int X_OFFSET = 0;
class="kw">protected class="kw">static class="kw">final int Y_OFFSET = 1;
class="kw">protected class="kw">static class="kw">final int Z_OFFSET = 2;
class="kw">protected int size = 0;
@Nonnull
class="kw">protected int[] components = ArrayUtil.EMPTY_INT_ARRAY;
class="kw">public Vector3iList() {
}
class="kw">public Vector3iList(int var1) {
this.components = new int[var1 * 3];
}
class="kw">public void clear() {
this.size = 0;
}
class="kw">public boolean empty() {
class="kw">return this.size == 0;
}
class="kw">public int size() {
class="kw">return this.size;
}
class="kw">public Vector3i get(int var1, @Nonnull Vector3i var2) {
int var3 = var1 * 3;
assert var3 >= 0 : "Index must be zero or a positive integer";
assert var3 + 3 <= this.components.length : "Index must allow space for 3 components (x, y, z)";
var2.set(this.components[var3 + 0], this.components[var3 + 1], this.components[var3 + 2]);
class="kw">return var2;
}
@Nullable
class="kw">public Vector3ic get(@Nonnull RandomGenerator var1, @Nonnull Vector3i var2) {
class="kw">return this.size == 0 ? null : this.get(var1.nextInt(this.size), var2);
}
class="kw">public void add(@Nonnull Vector3i var1) {
this.add(var1.x, var1.y, var1.z);
}
class="kw">public void add(@Nonnull Vector3ic var1) {
this.add(var1.x(), var1.y(), var1.z());
}
class="kw">public void add(int var1, int var2, int var3) {
this.ensureCapacity();
int var4 = this.size * 3;
this.components[var4 + 0] = var1;
this.components[var4 + 1] = var2;
this.components[var4 + 2] = var3;
this.size++;
}
class="kw">public boolean remove(int var1) {
if (this.size == 0) {
class="kw">return false;
}
if (this.size > 1) {
int var2 = var1 * 3;
int var3 = (this.size - 1) * 3;
this.components[var2 + 0] = this.components[var3 + 0];
this.components[var2 + 1] = this.components[var3 + 1];
this.components[var2 + 2] = this.components[var3 + 2];
}
this.size--;
class="kw">return true;
}
class="kw">public void copy(@Nonnull Vector3iList var1) {
this.size = var1.size;
this.components = Arrays.copyOf(var1.components, var1.components.length);
}
class="kw">protected void ensureCapacity() {
if ((this.size + 1) * 3 > this.components.length) {
int var1 = Math.max(ArrayUtil.grow(this.components.length), (this.size + 1) * 3);
this.components = Arrays.copyOf(this.components, var1);
}
}
}