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);
   }
}