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
+ "}";
}
}