FarmingData class
Пакет: com.hypixel.hytale.server.core.asset.type.blocktype.config.farming
Файл: com/hypixel/hytale/server/core/asset/type/blocktype/config/farming/FarmingData.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
public static final BuilderCodec<FarmingData.SoilConfig> |
CODEC |
|
protected Rangef |
lifetime |
|
protected String |
targetBlock |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Invalid StartingStageSet " + var0.startingStageSet) |
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Invalid StageSetAfterHarvest " + var0.startingStageSet) |
|
public |
SoilConfigpublic SoilConfig() |
public |
String[] |
getGrowthModifiersString[] getGrowthModifiers() |
|
public Rangef |
getLifetimepublic Rangef getLifetime() |
public |
String |
getStageSetAfterHarvestString getStageSetAfterHarvest() |
|
public String |
getTargetBlockpublic String getTargetBlock() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.blocktype.config.farming;
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.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.codecs.map.MapCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.Rangef;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.codec.ProtocolCodecs;
class="kw">import java.util.Arrays;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class FarmingData {
@Nonnull
class="kw">public class="kw">static class="kw">final Codec<FarmingData> CODEC = BuilderCodec.builder(FarmingData.class, FarmingData::new)
.append(
new KeyedCodec<>("Stages", new MapCodec<>(new ArrayCodec<>(FarmingStageData.CODEC, FarmingStageData[]::new), HashMap::new)),
(var0, var1) -> var0.stages = var1,
var0 -> var0.stages
)
.add()
.append(new KeyedCodec<>("StartingStageSet", Codec.STRING), (var0, var1) -> var0.startingStageSet = var1, var0 -> var0.startingStageSet)
.add()
.append(new KeyedCodec<>("StageSetAfterHarvest", Codec.STRING), (var0, var1) -> var0.stageSetAfterHarvest = var1, var0 -> var0.stageSetAfterHarvest)
.add()
.append(
new KeyedCodec<>("ActiveGrowthModifiers", GrowthModifierAsset.CHILD_ASSET_CODEC_ARRAY),
(var0, var1) -> var0.growthModifiers = var1,
var0 -> var0.growthModifiers
)
.add()
.appendInherited(
new KeyedCodec<>("SoilConfig", FarmingData.SoilConfig.CODEC),
(var0, var1) -> var0.soilConfig = var1,
var0 -> var0.soilConfig,
(var0, var1) -> var0.soilConfig = var1.soilConfig
)
.add()
.afterDecode(var0 -> {
if (var0 != null && var0.getStages() != null) {
if (!var0.getStages().containsKey(var0.startingStageSet)) {
throw new IllegalArgumentException("Invalid StartingStageSet " + var0.startingStageSet);
}
if (var0.stageSetAfterHarvest != null && !var0.getStages().containsKey(var0.stageSetAfterHarvest)) {
throw new IllegalArgumentException("Invalid StageSetAfterHarvest " + var0.startingStageSet);
}
}
})
.build();
class="kw">protected Map<String, FarmingStageData[]> stages;
class="kw">protected String startingStageSet = "Default";
class="kw">protected String stageSetAfterHarvest;
class="kw">protected String[] growthModifiers;
@Nullable
class="kw">protected FarmingData.SoilConfig soilConfig;
class="kw">public FarmingData() {
}
@Nullable
class="kw">public Map<String, FarmingStageData[]> getStages() {
class="kw">return this.stages;
}
@Nullable
class="kw">public String getStartingStageSet() {
class="kw">return this.startingStageSet;
}
class="kw">public String getStageSetAfterHarvest() {
class="kw">return this.stageSetAfterHarvest;
}
class="kw">public String[] getGrowthModifiers() {
class="kw">return this.growthModifiers;
}
@Nullable
class="kw">public FarmingData.SoilConfig getSoilConfig() {
class="kw">return this.soilConfig;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "FarmingData{stages="
+ this.stages
+ ", startingStageSet='"
+ this.startingStageSet
+ "', stageSetAfterHarvest='"
+ this.stageSetAfterHarvest
+ "', growthModifiers="
+ Arrays.toString(this.growthModifiers)
+ "}";
}
class="kw">public class="kw">static class SoilConfig {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<FarmingData.SoilConfig> CODEC = BuilderCodec.builder(FarmingData.SoilConfig.class, FarmingData.SoilConfig::new)
.appendInherited(
new KeyedCodec<>("TargetBlock", Codec.STRING),
(var0, var1) -> var0.targetBlock = var1,
var0 -> var0.targetBlock,
(var0, var1) -> var0.targetBlock = var1.targetBlock
)
.addValidatorLate(() -> BlockType.VALIDATOR_CACHE.getValidator().late())
.addValidator(Validators.nonNull())
.add()
.<Rangef>appendInherited(
new KeyedCodec<>("Lifetime", ProtocolCodecs.RANGEF),
(var0, var1) -> var0.lifetime = var1,
var0 -> var0.lifetime,
(var0, var1) -> var0.lifetime = var1.lifetime
)
.addValidator(Validators.nonNull())
.add()
.build();
class="kw">protected String targetBlock;
class="kw">protected Rangef lifetime;
class="kw">public SoilConfig() {
}
class="kw">public String getTargetBlock() {
class="kw">return this.targetBlock;
}
class="kw">public Rangef getLifetime() {
class="kw">return this.lifetime;
}
}
}