ConditionMap class
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.condition.manager
Файл: com/hypixel/hytale/builtin/adventure/worldevents/condition/manager/ConditionMap.java
Поля (14)
| Модификаторы | Тип | Имя |
|---|---|---|
|
public final EventCondition.Type |
conditionType |
|
public final ObjectList<T> |
conditions |
final |
ObjectList<ConditionMap.Entry<T>> |
entries |
|
public float |
timer_s |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var3 |
|
int |
var3 |
|
ConditionMap.Entry |
var3 |
|
int |
var4 |
|
ConditionMap.Entry |
var4 |
|
ConditionMap.Entry |
var5 |
Методы (13)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
protected |
Entryprotected Entry(@Nonnull Class<?> var1, @Nonnull EventCondition.Type var2) |
|
protected |
Entryprotected Entry(@Nonnull ConditionMap.Entry<T> var1) |
|
public void |
addpublic void add(@Nonnull T var1) |
public |
void |
copyvoid copy(@Nonnull ConditionMap<T> var1) |
abstract |
|
for for(int var2 = 0; var2 < var1.entries.size() |
|
|
if if(var3 != -1) |
|
|
if if(var2 < var3) |
|
|
if if(var2 == -1) |
|
|
if if(var2 != -1) |
public |
void |
removevoid remove(@Nonnull Class<?> var1) |
|
public void |
removepublic void remove(@Nonnull T var1) |
public |
int |
sizeint size() |
abstract |
|
this this(var1.type, var1.conditionType) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.condition.manager;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.condition.EventCondition;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectList;
class="kw">import it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ConditionMap<T> {
class="kw">protected class="kw">final ObjectList<ConditionMap.Entry<T>> entries = new ObjectArrayList();
class="kw">protected class="kw">final Reference2IntOpenHashMap<Class<?>> types = new Reference2IntOpenHashMap();
class="kw">public ConditionMap() {
}
class="kw">public int size() {
class="kw">return this.entries.size();
}
@Nullable
class="kw">public ConditionMap.Entry<T> get(int var1) {
class="kw">return (ConditionMap.Entry<T>)this.entries.get(var1);
}
@Nullable
class="kw">public ConditionMap.Entry<T> get(@Nonnull Class<?> var1) {
int var2 = this.types.getOrDefault(var1, -1);
class="kw">return var2 == -1 ? null : (ConditionMap.Entry)this.entries.get(var2);
}
@Nonnull
class="kw">public ConditionMap.Entry<T> ensure(@Nonnull Class<?> var1, @Nonnull EventCondition.Type var2) {
int var3 = this.types.getOrDefault(var1, -1);
if (var3 != -1) {
class="kw">return (ConditionMap.Entry<T>)this.entries.get(var3);
}
int var4 = this.types.size();
ConditionMap.Entry var5 = new ConditionMap.Entry<>(var1, var2);
this.types.put(var1, var4);
this.entries.add(var5);
class="kw">return var5;
}
class="kw">public void remove(@Nonnull Class<?> var1) {
if (this.types.containsKey(var1)) {
int var2 = this.types.removeInt(var1);
int var3 = this.entries.size() - 1;
if (var2 < var3) {
ConditionMap.Entry var4 = (ConditionMap.Entry<T>)this.entries.get(var3);
this.entries.set(var2, var4);
this.types.put(var4.type, var2);
}
this.entries.remove(var3);
}
}
class="kw">public void copy(@Nonnull ConditionMap<T> var1) {
this.types.clear();
this.entries.clear();
this.types.putAll(var1.types);
for (int var2 = 0; var2 < var1.entries.size(); var2++) {
ConditionMap.Entry var3 = (ConditionMap.Entry<T>)var1.entries.get(var2);
this.entries.add(new ConditionMap.Entry<>(var3));
}
}
class="kw">public class="kw">static class Entry<T> {
class="kw">public float timer_s = 0.0F;
@Nonnull
class="kw">public class="kw">final Class<?> type;
@Nonnull
class="kw">public class="kw">final EventCondition.Type conditionType;
@Nonnull
class="kw">public class="kw">final ObjectList<T> conditions = new ObjectArrayList();
class="kw">protected Entry(@Nonnull Class<?> var1, @Nonnull EventCondition.Type var2) {
this.type = var1;
this.conditionType = var2;
}
class="kw">protected Entry(@Nonnull ConditionMap.Entry<T> var1) {
this(var1.type, var1.conditionType);
this.timer_s = var1.timer_s;
this.conditions.addAll(var1.conditions);
}
class="kw">public void add(@Nonnull T var1) {
int var2 = this.conditions.indexOf(var1);
if (var2 == -1) {
this.conditions.add(var1);
}
}
class="kw">public void remove(@Nonnull T var1) {
int var2 = this.conditions.indexOf(var1);
if (var2 != -1) {
this.conditions.set(var2, this.conditions.getLast());
this.conditions.removeLast();
}
}
}
}