IntConditionBuilder class
Пакет: com.hypixel.hytale.server.worldgen.util.condition
Файл: com/hypixel/hytale/server/worldgen/util/condition/IntConditionBuilder.java
implements: IntConsumer
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
Supplier<IntSet> |
setSupplier |
|
IntSet |
var2 |
|
|
var2 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
HashSetIntConditionreturn new HashSetIntCondition(var2) |
public |
void |
acceptvoid accept(int var1) |
public |
boolean |
addboolean add(int var1) |
public |
IIntCondition |
buildOrDefaultIIntCondition buildOrDefault(IIntCondition var1) |
|
|
if if(var1 == this.first || var1 == this.nullValue) |
|
|
if if(this.first == this.nullValue) |
|
|
if if(this.set == null) |
|
|
if if(this.first == this.nullValue) |
|
|
if if(var2 == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.util.condition;
class="kw">import com.hypixel.hytale.procedurallib.condition.IIntCondition;
class="kw">import it.unimi.dsi.fastutil.ints.IntConsumer;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSets;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nullable;
class="kw">public class IntConditionBuilder class="kw">implements IntConsumer {
class="kw">private class="kw">final Supplier<IntSet> setSupplier;
class="kw">private class="kw">final int nullValue;
class="kw">private int first;
@Nullable
class="kw">private IntSet set = null;
class="kw">public IntConditionBuilder(Supplier<IntSet> var1, int var2) {
this.setSupplier = var1;
this.nullValue = var2;
this.first = var2;
}
class="kw">public void accept(int var1) {
this.add(var1);
}
class="kw">public boolean add(int var1) {
if (var1 == this.first || var1 == this.nullValue) {
class="kw">return false;
}
if (this.first == this.nullValue) {
this.first = var1;
class="kw">return true;
}
if (this.set == null) {
this.set = this.setSupplier.get();
this.set.add(this.first);
}
class="kw">return this.set.add(var1);
}
class="kw">public IIntCondition buildOrDefault(IIntCondition var1) {
if (this.first == this.nullValue) {
class="kw">return var1;
}
IntSet var2 = this.set;
if (var2 == null) {
var2 = IntSets.singleton(this.first);
}
class="kw">return new HashSetIntCondition(var2);
}
}