MaskEntry class

Пакет: com.hypixel.hytale.server.worldgen.util.condition

Файл: com/hypixel/hytale/server/worldgen/util/condition/BlockMaskCondition.java

Поля (8)

МодификаторыТипИмя
public static final BlockMaskCondition.MaskEntry WILDCARD_FALSE
public static final BlockMaskCondition.MaskEntry WILDCARD_TRUE
private final boolean any
private ResolvedBlockArray blocks
private boolean replace
int var1
var1
BlockMaskCondition.MaskEntry var2

Методы (9)

МодификаторыВозвратСигнатура
public boolean equalspublic boolean equals(@Nullable Object var1)
public int hashCodepublic int hashCode()
if if(this == var1)
if if(this.any != var2.any)
public void setpublic void set(ResolvedBlockArray var1, boolean var2)
public boolean shouldHandlepublic boolean shouldHandle(int var1, int var2)
public boolean shouldReplacepublic boolean shouldReplace()
abstract this this(false, false)
public String toStringpublic String toString()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.util.condition;

class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.worldgen.util.ResolvedBlockArray;
class="kw">import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.longs.Long2ObjectMaps;
class="kw">import java.util.Arrays;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BlockMaskCondition {
   class="kw">public class="kw">static class="kw">final BlockMaskCondition.Mask DEFAULT_MASK = new BlockMaskCondition.Mask(true, new BlockMaskCondition.MaskEntry[0]);
   class="kw">public class="kw">static class="kw">final BlockMaskCondition DEFAULT_TRUE = new BlockMaskCondition();
   class="kw">public class="kw">static class="kw">final BlockMaskCondition DEFAULT_FALSE = new BlockMaskCondition();
   @Nonnull
   class="kw">private BlockMaskCondition.Mask defaultMask = DEFAULT_MASK;
   @Nonnull
   class="kw">private Long2ObjectMap<BlockMaskCondition.Mask> specificMasks = Long2ObjectMaps.emptyMap();

   class="kw">public BlockMaskCondition() {
   }

   class="kw">public void set(@Nonnull BlockMaskCondition.Mask var1, @Nonnull Long2ObjectMap<BlockMaskCondition.Mask> var2) {
      this.defaultMask = var1;
      this.specificMasks = var2;
   }

   class="kw">public boolean eval(int var1, int var2, int var3, int var4) {
      BlockMaskCondition.Mask var5 = (BlockMaskCondition.Mask)this.specificMasks.getOrDefault(MathUtil.packLong(var3, var4), this.defaultMask);
      class="kw">return var5.shouldReplace(var1, var2);
   }

   @Override
   class="kw">public boolean equals(@Nullable Object var1) {
      if (this == var1) {
         class="kw">return true;
      } else if (var1 != null && this.getClass() == var1.getClass()) {
         BlockMaskCondition var2 = (BlockMaskCondition)var1;
         class="kw">return !this.defaultMask.equals(var2.defaultMask) ? false : Objects.equals(this.specificMasks, var2.specificMasks);
      } else {
         class="kw">return false;
      }
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = this.defaultMask.hashCode();
      class="kw">return 31 * var1 + (this.specificMasks != null ? this.specificMasks.hashCode() : 0);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "BlockMaskCondition{defaultMask=" + this.defaultMask + ", specificMasks=" + this.specificMasks + "}";
   }

   class="kw">public class="kw">static class Mask {
      class="kw">private class="kw">final boolean matchEmpty;
      class="kw">private class="kw">final BlockMaskCondition.MaskEntry[] entries;

      class="kw">public Mask(@Nonnull BlockMaskCondition.MaskEntry[] var1) {
         this(false, var1);
      }

      class="kw">private Mask(boolean var1, @Nonnull BlockMaskCondition.MaskEntry[] var2) {
         this.entries = var2;
         this.matchEmpty = var1;
      }

      class="kw">public boolean shouldReplace(int var1, int var2) {
         for (BlockMaskCondition.MaskEntry var6 : this.entries) {
            if (var6.shouldHandle(var1, var2)) {
               class="kw">return var6.shouldReplace();
            }
         }

         class="kw">return this.matchEmpty && (var1 == 0 || var2 == 0);
      }

      @Override
      class="kw">public boolean equals(@Nullable Object var1) {
         if (this == var1) {
            class="kw">return true;
         } else if (var1 != null && this.getClass() == var1.getClass()) {
            BlockMaskCondition.Mask var2 = (BlockMaskCondition.Mask)var1;
            class="kw">return Arrays.equals(this.entries, var2.entries);
         } else {
            class="kw">return false;
         }
      }

      @Override
      class="kw">public int hashCode() {
         class="kw">return Arrays.hashCode(this.entries);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "Mask{entries=" + Arrays.toString(this.entries) + "}";
      }
   }

   class="kw">public class="kw">static class MaskEntry {
      class="kw">public class="kw">static class="kw">final BlockMaskCondition.MaskEntry WILDCARD_TRUE = new BlockMaskCondition.MaskEntry(true, true);
      class="kw">public class="kw">static class="kw">final BlockMaskCondition.MaskEntry WILDCARD_FALSE = new BlockMaskCondition.MaskEntry(true, false);
      class="kw">private ResolvedBlockArray blocks = ResolvedBlockArray.EMPTY;
      class="kw">private class="kw">final boolean any;
      class="kw">private boolean replace;

      class="kw">public MaskEntry() {
         this(false, false);
      }

      class="kw">public MaskEntry(boolean var1, boolean var2) {
         this.any = var1;
         this.replace = var2;
      }

      class="kw">public void set(ResolvedBlockArray var1, boolean var2) {
         this.blocks = var1;
         this.replace = var2;
      }

      class="kw">public boolean shouldHandle(int var1, int var2) {
         class="kw">return this.any || this.blocks.contains(var1, var2);
      }

      class="kw">public boolean shouldReplace() {
         class="kw">return this.replace;
      }

      @Override
      class="kw">public boolean equals(@Nullable Object var1) {
         if (this == var1) {
            class="kw">return true;
         }

         if (var1 != null && this.getClass() == var1.getClass()) {
            BlockMaskCondition.MaskEntry var2 = (BlockMaskCondition.MaskEntry)var1;
            if (this.any != var2.any) {
               class="kw">return false;
            } else {
               class="kw">return this.replace != var2.replace ? false : this.blocks.equals(var2.blocks);
            }
         } else {
            class="kw">return false;
         }
      }

      @Override
      class="kw">public int hashCode() {
         int var1 = this.blocks.hashCode();
         var1 = 31 * var1 + (this.any ? 1 : 0);
         class="kw">return 31 * var1 + (this.replace ? 1 : 0);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "MaskEntry{blocks=" + this.blocks + ", replace=" + this.replace + "}";
      }
   }
}