SpreadGrowthBehaviour class

Пакет: com.hypixel.hytale.builtin.adventure.farming.config.stages.spread

Файл: com/hypixel/hytale/builtin/adventure/farming/config/stages/spread/SpreadGrowthBehaviour.java

Методы (4)

МодификаторыВозвратСигнатура
abstract abstract void executevoid execute(@Nonnull ComponentAccessor<ChunkStore> var1, @Nonnull Ref<ChunkStore> var2, @Nonnull Ref<ChunkStore> var3, int var4, int var5, int var6, float var7)
for for(int var5 = 0; var5 < this.worldLocationConditions.length; var5++)
if if(this.worldLocationConditions == null)
protected boolean validatePositionboolean validatePosition(@Nonnull World var1, int var2, int var3, int var4)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.farming.config.stages.spread;

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.lookup.CodecMapCodec;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldlocationcondition.WorldLocationCondition;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">abstract class SpreadGrowthBehaviour {
   @Nonnull
   class="kw">public class="kw">static class="kw">final CodecMapCodec<SpreadGrowthBehaviour> CODEC = new CodecMapCodec<>("Type");
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<SpreadGrowthBehaviour> BASE_CODEC = BuilderCodec.abstractBuilder(SpreadGrowthBehaviour.class)
      .append(
         new KeyedCodec<>("LocationConditions", new ArrayCodec<>(WorldLocationCondition.CODEC, WorldLocationCondition[]::new)),
         (var0, var1) -> var0.worldLocationConditions = var1,
         var0 -> var0.worldLocationConditions
      )
      .documentation("Defines the possible location conditions a position has to fulfill to be considered as valid.")
      .add()
      .build();
   class="kw">protected WorldLocationCondition[] worldLocationConditions;

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

   class="kw">public class="kw">abstract void execute(
      @Nonnull ComponentAccessor<ChunkStore> var1, @Nonnull Ref<ChunkStore> var2, @Nonnull Ref<ChunkStore> var3, int var4, int var5, int var6, float var7
   );

   class="kw">protected boolean validatePosition(@Nonnull World var1, int var2, int var3, int var4) {
      if (this.worldLocationConditions == null) {
         class="kw">return true;
      }

      for (int var5 = 0; var5 < this.worldLocationConditions.length; var5++) {
         if (!this.worldLocationConditions[var5].test(var1, var2, var3, var4)) {
            class="kw">return false;
         }
      }

      class="kw">return true;
   }
}