ConnectedBlockAndRule class

Пакет: com.hypixel.hytale.server.core.universe.world.connectedblocks.config.rule

Файл: com/hypixel/hytale/server/core/universe/world/connectedblocks/config/rule/ConnectedBlockAndRule.java

extends: ConnectedBlockRule

Поля (2)

МодификаторыТипИмя
final BuilderCodec<ConnectedBlockAndRule> CODEC
AndConnectedBlockRule var1

Методы (4)

МодификаторыВозвратСигнатура
for for(ConnectedBlockRule var5 : this.rules)
for for(int var2 = 0; var2 < this.rules.length; var2++)
if if(this.rules == null)
if if(this.rules != null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.connectedblocks.config.rule;

class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.AndConnectedBlockRule;

class="kw">public class ConnectedBlockAndRule class="kw">extends ConnectedBlockRule {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConnectedBlockAndRule> CODEC = BuilderCodec.builder(ConnectedBlockAndRule.class, ConnectedBlockAndRule::new)
      .append(
         new KeyedCodec<>("Rules", new ArrayCodec<>(ConnectedBlockRule.CODEC, ConnectedBlockRule[]::new), true),
         (var0, var1) -> var0.rules = var1,
         var0 -> var0.rules
      )
      .addValidator(Validators.nonNull())
      .add()
      .build();
   class="kw">private ConnectedBlockRule[] rules;

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

   @Override
   class="kw">public boolean check(ConnectedBlockRule.Context var1) {
      if (this.rules == null) {
         class="kw">return true;
      }

      for (ConnectedBlockRule var5 : this.rules) {
         if (var5 != null && !var5.check(var1)) {
            class="kw">return false;
         }
      }

      class="kw">return true;
   }

   @Override
   class="kw">public com.hypixel.hytale.protocol.ConnectedBlockRule toPacket() {
      AndConnectedBlockRule var1 = new AndConnectedBlockRule();
      if (this.rules != null) {
         var1.rules = new com.hypixel.hytale.protocol.ConnectedBlockRule[this.rules.length];

         for (int var2 = 0; var2 < this.rules.length; var2++) {
            var1.rules[var2] = this.rules[var2] == null ? null : this.rules[var2].toPacket();
         }
      }

      class="kw">return var1;
   }
}