MaterialSet class

Пакет: com.hypixel.hytale.builtin.hytalegenerator

Файл: com/hypixel/hytale/builtin/hytalegenerator/MaterialSet.java

implements: Predicate<Material>

Поля (7)

МодификаторыТипИмя
final boolean isInclusive
boolean var2
boolean var2
int var3
IntSet var4
Material var6
Material var7

Методы (9)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("element array contains null at index 0")
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("element array contains null at index " + var5)
for for(int var5 = 0; var5 < var3; var5++)
if if(var3 == 0)
if if(var7 == null)
if if(var6 == null)
if if(var1 == null)
public boolean testboolean test(@Nullable Material var1)
public boolean testboolean test(int var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator;

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import it.unimi.dsi.fastutil.ints.IntArraySet;
class="kw">import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSets;
class="kw">import java.util.List;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class MaterialSet class="kw">implements Predicate<Material> {
   class="kw">private class="kw">final boolean isInclusive;
   class="kw">private class="kw">final IntSet mask;

   class="kw">public MaterialSet() {
      this.isInclusive = true;
      this.mask = IntSet.of();
   }

   class="kw">public MaterialSet(boolean var1, @Nonnull List<Material> var2) {
      this.isInclusive = var1;
      int var3 = var2.size();
      if (var3 == 0) {
         this.mask = IntSet.of();
      } else if (var3 == 1) {
         Material var7 = var2.getFirst();
         if (var7 == null) {
            throw new IllegalArgumentException("element array contains null at index 0");
         }

         this.mask = IntSet.of(var7.hashMaterialIds());
      } else {
         IntSet var4 = (IntSet)(var3 <= 4 ? new IntArraySet(var3) : new IntOpenHashSet(var3, 0.99F));

         for (int var5 = 0; var5 < var3; var5++) {
            Material var6 = var2.get(var5);
            if (var6 == null) {
               throw new IllegalArgumentException("element array contains null at index " + var5);
            }

            var4.add(var6.hashMaterialIds());
         }

         this.mask = IntSets.unmodifiable(var4);
      }
   }

   class="kw">public boolean test(@Nullable Material var1) {
      if (var1 == null) {
         class="kw">return false;
      }

      boolean var2 = this.mask.contains(var1.hashMaterialIds());
      class="kw">return var2 && this.isInclusive || !var2 && !this.isInclusive;
   }

   class="kw">public boolean test(int var1) {
      boolean var2 = this.mask.contains(var1);
      class="kw">return var2 && this.isInclusive || !var2 && !this.isInclusive;
   }
}