ItemAttitudeGroup class
Пакет: com.hypixel.hytale.server.npc.config
Файл: com/hypixel/hytale/server/npc/config/ItemAttitudeGroup.java
implements: JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, ItemAttitudeGroup>>
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
ASSET_MAP |
final |
AssetBuilderCodec<String, ItemAttitudeGroup> |
CODEC |
|
private final Attitude |
attitude |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
Love Love(Attitude.REVERED) |
|
|
Sentiment Sentiment(Attitude nullxx) |
|
public String |
getpublic String get() |
static |
IndexedLookupTableAssetMap<String, ItemAttitudeGroup> |
getAssetMapIndexedLookupTableAssetMap<String, ItemAttitudeGroup> getAssetMap() |
|
public Attitude |
getAttitudepublic Attitude getAttitude() |
public |
String |
getIdString getId() |
|
|
if if(ASSET_MAP == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.config;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.map.EnumMapCodec;
class="kw">import com.hypixel.hytale.server.core.asset.type.attitude.Attitude;
class="kw">import java.util.Collections;
class="kw">import java.util.EnumMap;
class="kw">import java.util.Map;
class="kw">import java.util.Map.Entry;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;
class="kw">public class ItemAttitudeGroup class="kw">implements JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, ItemAttitudeGroup>> {
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, ItemAttitudeGroup> CODEC = AssetBuilderCodec.<String, ItemAttitudeGroup>builder(
ItemAttitudeGroup.class,
ItemAttitudeGroup::new,
Codec.STRING,
(var0, var1) -> var0.id = var1,
var0 -> var0.id,
(var0, var1) -> var0.data = var1,
var0 -> var0.data
)
.documentation("Defines attitudes towards specific items by tag.")
.<Map<ItemAttitudeGroup.Sentiment, String[]>>append(
new KeyedCodec<>("Attitudes", new EnumMapCodec<>(ItemAttitudeGroup.Sentiment.class, Codec.STRING_ARRAY)),
(var0, var1) -> var0.sentiments = var1,
var0 -> var0.sentiments
)
.documentation("A map of attitudes to item tags.")
.add()
.afterDecode(var0 -> {
if (!var0.sentiments.isEmpty()) {
var0.attitudes = new EnumMap<>(Attitude.class);
for (Entry var2 : var0.sentiments.entrySet()) {
var0.attitudes.put(var2.getKey().attitude, var2.getValue());
}
}
})
.build();
class="kw">private class="kw">static IndexedLookupTableAssetMap<String, ItemAttitudeGroup> ASSET_MAP;
class="kw">protected AssetExtraInfo.Data data;
class="kw">protected String id;
class="kw">protected Map<ItemAttitudeGroup.Sentiment, String[]> sentiments = Collections.emptyMap();
@Nonnull
class="kw">protected Map<Attitude, String[]> attitudes = Collections.emptyMap();
class="kw">public class="kw">static IndexedLookupTableAssetMap<String, ItemAttitudeGroup> getAssetMap() {
if (ASSET_MAP == null) {
ASSET_MAP = (IndexedLookupTableAssetMap<String, ItemAttitudeGroup>)AssetRegistry.getAssetStore(ItemAttitudeGroup.class).getAssetMap();
}
class="kw">return ASSET_MAP;
}
class="kw">public ItemAttitudeGroup(String var1) {
this.id = var1;
}
class="kw">protected ItemAttitudeGroup() {
}
class="kw">public String getId() {
class="kw">return this.id;
}
@Nonnull
class="kw">public Map<Attitude, String[]> getAttitudes() {
class="kw">return this.attitudes;
}
class="kw">public enum Sentiment class="kw">implements Supplier<String> {
Ignore(Attitude.IGNORE),
Dislike(Attitude.HOSTILE),
Neutral(Attitude.NEUTRAL),
Like(Attitude.FRIENDLY),
Love(Attitude.REVERED);
class="kw">private class="kw">final Attitude attitude;
Sentiment(Attitude nullxx) {
this.attitude = nullxx;
}
@Nonnull
class="kw">public String get() {
class="kw">return this.name();
}
class="kw">public Attitude getAttitude() {
class="kw">return this.attitude;
}
}
}