Registry class
Пакет: com.hypixel.hytale.builtin.hytalegenerator
Файл: com/hypixel/hytale/builtin/hytalegenerator/Registry.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Object2IntMap<T> |
objectToId |
|
int |
var2 |
|
|
var2 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
forEachvoid forEach(@Nonnull BiConsumer<Integer, T> var1) |
public |
int |
getIdOrRegisterint getIdOrRegister(T var1) |
public |
T |
getObjectT getObject(int var1) |
|
|
if if(var2 != -1) |
public |
int |
sizeint size() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import java.util.function.BiConsumer;
class="kw">import javax.annotation.Nonnull;
class="kw">public class Registry<T> {
class="kw">private class="kw">final Object2IntMap<T> objectToId = new Object2IntOpenHashMap();
class="kw">private class="kw">final Int2ObjectMap<T> idToObject = new Int2ObjectOpenHashMap();
class="kw">public Registry() {
this.objectToId.defaultReturnValue(-1);
}
class="kw">public int getIdOrRegister(T var1) {
int var2 = this.objectToId.getInt(var1);
if (var2 != -1) {
class="kw">return var2;
}
var2 = this.objectToId.size();
this.idToObject.put(var2, var1);
this.objectToId.put(var1, var2);
class="kw">return var2;
}
class="kw">public T getObject(int var1) {
class="kw">return (T)this.idToObject.get(var1);
}
class="kw">public int size() {
class="kw">return this.objectToId.size();
}
@Nonnull
class="kw">public List<T> getAllValues() {
class="kw">return new ArrayList<>(this.idToObject.values());
}
class="kw">public void forEach(@Nonnull BiConsumer<Integer, T> var1) {
this.idToObject.forEach(var1::accept);
}
}