NoBuildRule class

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

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

extends: AbstractDenyRule

Методы (2)

МодификаторыВозвратСигнатура
public void collectExceptBlockIdsvoid collectExceptBlockIds(@Nonnull IntSet var1)
public boolean isBlockExceptedboolean isBlockExcepted(@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.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.mask.BlockFilter;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class NoBuildRule class="kw">extends AbstractDenyRule {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<NoBuildRule> CODEC = AbstractDenyRule.appendDenyFields(
         BuilderCodec.builder(NoBuildRule.class, NoBuildRule::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()
      )
      .build();
   @Nonnull
   class="kw">private String[] exceptBlocks = ArrayUtil.EMPTY_STRING_ARRAY;
   @Nonnull
   class="kw">private AssetTagMatcher exceptBlockTags = AssetTagMatcher.EMPTY;

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

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

   class="kw">public void collectExceptBlockIds(@Nonnull IntSet var1) {
      var1.addAll(BlockFilter.parseBlocks(this.exceptBlocks));
      this.exceptBlockTags.collectIndexes(BlockType.getAssetMap(), var1);
   }
}