NoDestroyRule class

Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin.rules

Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/rules/NoDestroyRule.java

extends: AbstractDenyRule

Методы (7)

МодификаторыВозвратСигнатура
public void collectExceptBlockIdsvoid collectExceptBlockIds(@Nonnull IntSet var1)
public void collectExceptToolKeysvoid collectExceptToolKeys(@Nonnull Set<String> var1)
public boolean hasBlockExceptionboolean hasBlockException()
public boolean hasToolExceptionboolean hasToolException()
if if(var1 == null)
public boolean isBlockExceptedboolean isBlockExcepted(@Nullable String var1)
public boolean isToolExceptedboolean isToolExcepted(@Nullable String var1)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.Item;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import java.util.Arrays;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class NoDestroyRule class="kw">extends AbstractDenyRule {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<NoDestroyRule> CODEC = AbstractDenyRule.appendDenyFields(
         BuilderCodec.builder(NoDestroyRule.class, NoDestroyRule::new, BASE_CODEC)
            .append(
               new KeyedCodec<>("ExceptBlocks", Codec.STRING_ARRAY, false),
               (var0, var1) -> var0.exceptBlocks = var1 != null ? var1 : ArrayUtil.EMPTY_STRING_ARRAY,
               var0 -> var0.exceptBlocks.length == 0 ? null : var0.exceptBlocks
            )
            .add()
            .append(
               new KeyedCodec<>("ExceptBlockTags", Codec.STRING_ARRAY, false),
               (var0, var1) -> var0.exceptBlockTags = AssetTagMatcher.of(var1),
               var0 -> var0.exceptBlockTags.getTags()
            )
            .add()
            .append(
               new KeyedCodec<>("ExceptTools", Codec.STRING_ARRAY, false),
               (var0, var1) -> var0.exceptTools = var1 != null ? var1 : ArrayUtil.EMPTY_STRING_ARRAY,
               var0 -> var0.exceptTools.length == 0 ? null : var0.exceptTools
            )
            .add()
            .append(
               new KeyedCodec<>("ExceptToolTags", Codec.STRING_ARRAY, false),
               (var0, var1) -> var0.exceptToolTags = AssetTagMatcher.of(var1),
               var0 -> var0.exceptToolTags.getTags()
            )
            .add()
      )
      .build();
   @Nonnull
   class="kw">private String[] exceptBlocks = ArrayUtil.EMPTY_STRING_ARRAY;
   @Nonnull
   class="kw">private AssetTagMatcher exceptBlockTags = AssetTagMatcher.EMPTY;
   @Nonnull
   class="kw">private String[] exceptTools = ArrayUtil.EMPTY_STRING_ARRAY;
   @Nonnull
   class="kw">private AssetTagMatcher exceptToolTags = AssetTagMatcher.EMPTY;

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

   class="kw">public boolean hasBlockException() {
      class="kw">return this.exceptBlocks.length > 0 || !this.exceptBlockTags.isEmpty();
   }

   class="kw">public boolean hasToolException() {
      class="kw">return this.exceptTools.length > 0 || !this.exceptToolTags.isEmpty();
   }

   class="kw">public boolean isBlockExcepted(@Nullable String var1) {
      class="kw">return RuleExceptionResolver.isBlockExcepted(this.exceptBlocks, this.exceptBlockTags, var1);
   }

   class="kw">public boolean isToolExcepted(@Nullable String var1) {
      if (var1 == null) {
         class="kw">return false;
      } else {
         class="kw">return Arrays.asList(this.exceptTools).contains(var1) ? true : !this.exceptToolTags.isEmpty() && this.exceptToolTags.matches(var1, Item.getAssetMap());
      }
   }

   class="kw">public void collectExceptBlockIds(@Nonnull IntSet var1) {
      RuleExceptionResolver.collectBlockIds(this.exceptBlocks, this.exceptBlockTags, var1);
   }

   class="kw">public void collectExceptToolKeys(@Nonnull Set<String> var1) {
      RuleExceptionResolver.collectItemKeys(this.exceptTools, this.exceptToolTags, var1);
   }
}