SuppressionSpan class

Пакет: com.hypixel.hytale.server.spawning.suppression.component

Файл: com/hypixel/hytale/server/spawning/suppression/component/ChunkSuppressionEntry.java

Поля (4)

МодификаторыТипИмя
private final int maxY
private final int minY
private final IntSet suppressedRoles
private final UUID suppressorId

Методы (5)

МодификаторыВозвратСигнатура
public int getMaxYpublic int getMaxY()
public int getMinYpublic int getMinY()
public IntSet getSuppressedRolespublic IntSet getSuppressedRoles()
public UUID getSuppressorIdpublic UUID getSuppressorId()
public boolean includesRolepublic boolean includesRole(int var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.spawning.suppression.component;

class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.spawning.SpawningPlugin;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSets;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ChunkSuppressionEntry class="kw">implements Component<ChunkStore> {
   @Nonnull
   class="kw">private class="kw">final List<ChunkSuppressionEntry.SuppressionSpan> suppressionSpans;

   class="kw">public class="kw">static ComponentType<ChunkStore, ChunkSuppressionEntry> getComponentType() {
      class="kw">return SpawningPlugin.get().getChunkSuppressionEntryComponentType();
   }

   class="kw">public ChunkSuppressionEntry(@Nonnull List<ChunkSuppressionEntry.SuppressionSpan> var1) {
      this.suppressionSpans = Collections.unmodifiableList(var1);
   }

   @Nonnull
   class="kw">public List<ChunkSuppressionEntry.SuppressionSpan> getSuppressionSpans() {
      class="kw">return this.suppressionSpans;
   }

   class="kw">public boolean containsOnly(UUID var1) {
      class="kw">return this.suppressionSpans.size() == 1 && this.suppressionSpans.getFirst().getSuppressorId().equals(var1);
   }

   class="kw">public boolean isSuppressingRoleAt(int var1, int var2) {
      for (int var3 = 0; var3 < this.suppressionSpans.size(); var3++) {
         ChunkSuppressionEntry.SuppressionSpan var4 = this.suppressionSpans.get(var3);
         if (var4.minY > var2) {
            class="kw">return false;
         }

         if (var4.maxY >= var2 && var4.includesRole(var1)) {
            class="kw">return true;
         }
      }

      class="kw">return false;
   }

   @Nonnull
   @Override
   class="kw">public Component<ChunkStore> clone() {
      class="kw">return new ChunkSuppressionEntry(this.suppressionSpans);
   }

   class="kw">public class="kw">static class SuppressionSpan {
      class="kw">private class="kw">final UUID suppressorId;
      class="kw">private class="kw">final int minY;
      class="kw">private class="kw">final int maxY;
      @Nullable
      class="kw">private class="kw">final IntSet suppressedRoles;

      class="kw">public SuppressionSpan(UUID var1, int var2, int var3, @Nullable IntSet var4) {
         this.suppressorId = var1;
         this.minY = var2;
         this.maxY = var3;
         this.suppressedRoles = var4 != null ? IntSets.unmodifiable(var4) : null;
      }

      class="kw">public UUID getSuppressorId() {
         class="kw">return this.suppressorId;
      }

      @Nullable
      class="kw">public IntSet getSuppressedRoles() {
         class="kw">return this.suppressedRoles;
      }

      class="kw">public int getMinY() {
         class="kw">return this.minY;
      }

      class="kw">public int getMaxY() {
         class="kw">return this.maxY;
      }

      class="kw">public boolean includesRole(int var1) {
         class="kw">return this.suppressedRoles == null || this.suppressedRoles.contains(var1);
      }
   }
}