ObjectiveAsset.java
package com.hypixel.hytale.builtin.adventure.objectives.config;
import com.hypixel.hytale.assetstore.AssetExtraInfo;
import com.hypixel.hytale.assetstore.AssetKeyValidator;
import com.hypixel.hytale.assetstore.AssetRegistry;
import com.hypixel.hytale.assetstore.AssetStore;
import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
import com.hypixel.hytale.builtin.adventure.objectives.ObjectivePlugin;
import com.hypixel.hytale.builtin.adventure.objectives.config.completion.ObjectiveCompletionAsset;
import com.hypixel.hytale.builtin.adventure.objectives.config.task.ObjectiveTaskAsset;
import com.hypixel.hytale.builtin.adventure.objectives.config.task.TaskSet;
import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
import com.hypixel.hytale.codec.schema.metadata.ui.UIEditor;
import com.hypixel.hytale.codec.validation.ValidatorCache;
import com.hypixel.hytale.codec.validation.Validators;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.logging.Level;
import javax.annotation.Nonnull;
public class ObjectiveAsset implements JsonAssetWithMap<String, DefaultAssetMap<String, ObjectiveAsset>> {
public AssetBuilderCodec<String, ObjectiveAsset> CODEC;
ValidatorCache<String> VALIDATOR_CACHE;
AssetStore<String, ObjectiveAsset, DefaultAssetMap<String, ObjectiveAsset>> ASSET_STORE;
AssetExtraInfo.Data extraData;
String id;
String category;
TaskSet[] taskSets;
ObjectiveCompletionAsset[] completionHandlers;
String objectiveTitleKey;
String objectiveDescriptionKey;
removeOnItemDrop;
AssetStore<String, ObjectiveAsset, DefaultAssetMap<String, ObjectiveAsset>> {
(ASSET_STORE == ) {
ASSET_STORE = AssetRegistry.<String, ObjectiveAsset, DefaultAssetMap<String, ObjectiveAsset>>getAssetStore(ObjectiveAsset.class);
}
ASSET_STORE;
}
DefaultAssetMap<String, ObjectiveAsset> {
(DefaultAssetMap)getAssetStore().getAssetMap();
}
{
.id = id;
.category = category;
.taskSets = taskSets;
.completionHandlers = completionHandlers;
.objectiveTitleKey = objectiveTitleKey;
.objectiveDescriptionKey = objectiveDescriptionKey;
.removeOnItemDrop = removeOnItemDrop;
}
{
}
String {
.id;
}
String {
.category;
}
String {
.objectiveTitleKey;
}
String {
.objectiveDescriptionKey;
}
TaskSet[] getTaskSets() {
.taskSets;
}
ObjectiveCompletionAsset[] getCompletionHandlers() {
.completionHandlers;
}
String {
.objectiveTitleKey;
}
String {
.objectiveDescriptionKey;
}
{
.removeOnItemDrop;
}
{
(TaskSet taskSet : .taskSets) {
(ObjectiveTaskAsset task : taskSet.getTasks()) {
(!task.getTaskScope().isTaskPossibleForPlayer()) {
ObjectivePlugin.get().getLogger().at(Level.WARNING).log(, task.getClass().toString());
;
}
}
}
;
}
{
(TaskSet taskSet : .taskSets) {
(ObjectiveTaskAsset task : taskSet.getTasks()) {
(!task.getTaskScope().isTaskPossibleForMarker()) {
ObjectivePlugin.get().getLogger().at(Level.WARNING).log(, task.getClass().toString());
;
}
}
}
;
}
String {
.id;
+ var10000 + + .category + + Arrays.toString(.taskSets) + + Arrays.toString(.completionHandlers) + + .objectiveTitleKey + + .objectiveDescriptionKey + + .removeOnItemDrop + ;
}
{
CODEC = ((AssetBuilderCodec.Builder)((AssetBuilderCodec.Builder)((AssetBuilderCodec.Builder)((AssetBuilderCodec.Builder)((AssetBuilderCodec.Builder)((AssetBuilderCodec.Builder)((AssetBuilderCodec.Builder)AssetBuilderCodec.builder(ObjectiveAsset.class, ObjectiveAsset::, Codec.STRING, (objective, s) -> objective.id = s, (objective) -> objective.id, (objective, data) -> objective.extraData = data, (objective) -> objective.extraData).appendInherited( (, Codec.STRING), (objectiveAsset, s) -> objectiveAsset.category = s, (objectiveAsset) -> objectiveAsset.category, (objectiveAsset, parent) -> objectiveAsset.category = parent.category).add()).appendInherited( (, (TaskSet.CODEC, (x$) -> [x$])), (objective, tasks) -> objective.taskSets = tasks, (objective) -> objective.taskSets, (objective, parent) -> objective.taskSets = parent.taskSets).addValidator(Validators.nonEmptyArray()).add()).appendInherited( (, (ObjectiveCompletionAsset.CODEC, (x$) -> [x$])), (objective, rewards) -> objective.completionHandlers = rewards, (objective) -> objective.completionHandlers, (objective, parent) -> objective.completionHandlers = parent.completionHandlers).add()).appendInherited( (, Codec.STRING), (objectiveAsset, s) -> objectiveAsset.objectiveTitleKey = s, (objectiveAsset) -> objectiveAsset.objectiveTitleKey, (objectiveAsset, parent) -> objectiveAsset.objectiveTitleKey = parent.objectiveTitleKey).metadata( ( .LocalizationKeyField(, ))).add()).appendInherited( (, Codec.STRING), (objectiveAsset, s) -> objectiveAsset.objectiveDescriptionKey = s, (objectiveAsset) -> objectiveAsset.objectiveDescriptionKey, (objectiveAsset, parent) -> objectiveAsset.objectiveDescriptionKey = parent.objectiveDescriptionKey).metadata( ( .LocalizationKeyField())).add()).appendInherited( (, Codec.BOOLEAN), (objectiveAsset, aBoolean) -> objectiveAsset.removeOnItemDrop = aBoolean, (objectiveAsset) -> objectiveAsset.removeOnItemDrop, (objectiveAsset, parent) -> objectiveAsset.removeOnItemDrop = parent.removeOnItemDrop).add()).afterDecode((objectiveAsset) -> {
(objectiveAsset.objectiveTitleKey == ) {
objectiveAsset.objectiveTitleKey = MessageFormat.format(, objectiveAsset.id);
}
(objectiveAsset.objectiveDescriptionKey == ) {
objectiveAsset.objectiveDescriptionKey = MessageFormat.format(, objectiveAsset.id);
}
})).build();
VALIDATOR_CACHE = <String>( (ObjectiveAsset::getAssetStore));
}
}