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);
}
}