BasicChanceBlockGrowthProcedure class

Пакет: com.hypixel.hytale.builtin.blocktick.procedure

Файл: com/hypixel/hytale/builtin/blocktick/procedure/BasicChanceBlockGrowthProcedure.java

extends: TickProcedure

Методы (2)

МодификаторыВозвратСигнатура
protected boolean executeToBlockboolean executeToBlock(@Nonnull World var1, int var2, int var3, int var4, String var5)
protected boolean runChanceboolean runChance()

Исходный код

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

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.server.core.asset.type.blocktick.BlockTickStrategy;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktick.config.TickProcedure;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BasicChanceBlockGrowthProcedure class="kw">extends TickProcedure {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<BasicChanceBlockGrowthProcedure> CODEC = BuilderCodec.<TickProcedure>builder(
         BasicChanceBlockGrowthProcedure.class, BasicChanceBlockGrowthProcedure::new, TickProcedure.BASE_CODEC
      )
      .addField(new KeyedCodec<>("NextId", Codec.STRING), (var0, var1) -> var0.to = var1, var0 -> var0.to)
      .addField(new KeyedCodec<>("ChanceMin", Codec.INTEGER), (var0, var1) -> var0.chanceMin = var1, var0 -> var0.chanceMin)
      .addField(new KeyedCodec<>("Chance", Codec.INTEGER), (var0, var1) -> var0.chance = var1, var0 -> var0.chance)
      .addField(new KeyedCodec<>("NextTicking", Codec.BOOLEAN), (var0, var1) -> var0.nextTicking = var1, var0 -> var0.nextTicking)
      .build();
   class="kw">protected int chanceMin;
   class="kw">protected int chance;
   class="kw">protected String to;
   class="kw">protected boolean nextTicking;

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

   class="kw">public BasicChanceBlockGrowthProcedure(int var1, int var2, String var3, boolean var4) {
      this.chanceMin = var1;
      this.chance = var2;
      this.to = var3;
      this.nextTicking = var4;
   }

   @Nonnull
   @Override
   class="kw">public BlockTickStrategy onTick(@Nonnull World var1, WorldChunk var2, int var3, int var4, int var5, int var6) {
      if (!this.runChance()) {
         class="kw">return BlockTickStrategy.CONTINUE;
      } else {
         class="kw">return this.executeToBlock(var1, var3, var4, var5, this.to) ? BlockTickStrategy.CONTINUE : BlockTickStrategy.SLEEP;
      }
   }

   class="kw">protected boolean runChance() {
      class="kw">return this.getRandom().nextInt(this.chance) < this.chanceMin;
   }

   class="kw">protected boolean executeToBlock(@Nonnull World var1, int var2, int var3, int var4, String var5) {
      var1.setBlock(var2, var3, var4, var5);
      class="kw">return !this.nextTicking;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "BasicChanceBlockGrowthProcedure{chanceMin="
         + this.chanceMin
         + ", chance="
         + this.chance
         + ", to="
         + this.to
         + ", nextTicking="
         + this.nextTicking
         + "}";
   }
}