ItemUtility class
Пакет: com.hypixel.hytale.server.core.asset.type.item.config
Файл: com/hypixel/hytale/server/core/asset/type/item/config/ItemUtility.java
implements: NetworkSerializable<com.hypixel.hytale.protocol.ItemUtility>
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
ItemUtility |
DEFAULT |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
int[] |
getEntityStatsToClearint[] getEntityStatsToClear() |
public |
boolean |
isCompatibleboolean isCompatible() |
public |
boolean |
isUsableboolean isUsable() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.item.config;
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.server.core.io.NetworkSerializable;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatsModule;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.asset.EntityStatType;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.modifier.StaticModifier;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
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 ItemUtility class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.ItemUtility> {
class="kw">public class="kw">static class="kw">final ItemUtility DEFAULT = new ItemUtility();
class="kw">public class="kw">static class="kw">final BuilderCodec<ItemUtility> CODEC = BuilderCodec.builder(ItemUtility.class, ItemUtility::new)
.append(new KeyedCodec<>("Usable", Codec.BOOLEAN), (var0, var1) -> var0.usable = var1, var0 -> var0.usable)
.add()
.append(new KeyedCodec<>("Compatible", Codec.BOOLEAN), (var0, var1) -> var0.compatible = var1, var0 -> var0.compatible)
.add()
.<Map>append(
new KeyedCodec<>("StatModifiers", new MapCodec<>(new ArrayCodec<>(StaticModifier.CODEC, StaticModifier[]::new), HashMap::new)),
(var0, var1) -> var0.rawStatModifiers = var1,
var0 -> var0.rawStatModifiers
)
.addValidator(EntityStatType.VALIDATOR_CACHE.getMapKeyValidator().late())
.add()
.append(new KeyedCodec<>("EntityStatsToClear", Codec.STRING_ARRAY), (var0, var1) -> var0.rawEntityStatsToClear = var1, var0 -> var0.rawEntityStatsToClear)
.add()
.afterDecode(var0 -> {
var0.statModifiers = EntityStatsModule.resolveEntityStats(var0.rawStatModifiers);
var0.entityStatsToClear = EntityStatsModule.resolveEntityStats(var0.rawEntityStatsToClear);
})
.build();
class="kw">protected boolean usable;
class="kw">protected boolean compatible;
@Nullable
class="kw">protected Map<String, StaticModifier[]> rawStatModifiers;
@Nullable
class="kw">protected Int2ObjectMap<StaticModifier[]> statModifiers;
class="kw">protected String[] rawEntityStatsToClear;
@Nullable
class="kw">protected int[] entityStatsToClear;
class="kw">public ItemUtility() {
}
class="kw">public boolean isUsable() {
class="kw">return this.usable;
}
class="kw">public boolean isCompatible() {
class="kw">return this.compatible;
}
@Nullable
class="kw">public Int2ObjectMap<StaticModifier[]> getStatModifiers() {
class="kw">return this.statModifiers;
}
class="kw">public int[] getEntityStatsToClear() {
class="kw">return this.entityStatsToClear;
}
@Nonnull
class="kw">public com.hypixel.hytale.protocol.ItemUtility toPacket() {
class="kw">return new com.hypixel.hytale.protocol.ItemUtility(this.usable, this.compatible, this.entityStatsToClear, EntityStatMap.toPacket(this.statModifiers));
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "ItemUtility{usable="
+ this.usable
+ ", compatible="
+ this.compatible
+ ", rawStatModifiers="
+ this.rawStatModifiers
+ ", statModifiers="
+ this.statModifiers
+ ", rawEntityStatsToClear="
+ Arrays.toString(this.rawEntityStatsToClear)
+ ", entityStatsToClear="
+ Arrays.toString(this.entityStatsToClear)
+ "}";
}
}