UnknownComponents class
Пакет: com.hypixel.hytale.component.data.unknown
Файл: com/hypixel/hytale/component/data/unknown/UnknownComponents.java
implements: Component<ECS_TYPE>
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
BsonDocument |
var3 |
|
ExtraInfo |
var4 |
|
ExtraInfo |
var4 |
|
BsonValue |
var5 |
|
Component |
var5 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
addComponentvoid addComponent(@Nonnull String var1, @Nonnull Component<ECS_TYPE> var2, @Nonnull Codec<Component<ECS_TYPE>> var3) |
public |
void |
addComponentvoid addComponent(@Nonnull String var1, @Nonnull TempUnknownComponent<ECS_TYPE> var2) |
public |
boolean |
containsboolean contains(@Nonnull String var1) |
|
|
if if(var3 == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.component.data.unknown;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
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.map.MapCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.bson.BsonDocument;
class="kw">import org.bson.BsonValue;
class="kw">public class UnknownComponents<ECS_TYPE> class="kw">implements Component<ECS_TYPE> {
@Nonnull
class="kw">public class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
@Nonnull
class="kw">public class="kw">static class="kw">final String ID = "Unknown";
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<UnknownComponents> CODEC = BuilderCodec.builder(UnknownComponents.class, UnknownComponents::new)
.append(
new KeyedCodec<>("Components", new MapCodec<>(Codec.BSON_DOCUMENT, Object2ObjectOpenHashMap::new, false)),
(var0, var1) -> var0.unknownComponents = var1,
var0 -> var0.unknownComponents
)
.add()
.build();
@Nonnull
class="kw">private Map<String, BsonDocument> unknownComponents;
class="kw">public UnknownComponents() {
this.unknownComponents = new Object2ObjectOpenHashMap();
}
class="kw">public UnknownComponents(@Nonnull Map<String, BsonDocument> var1) {
this.unknownComponents = var1;
}
class="kw">public void addComponent(@Nonnull String var1, @Nonnull Component<ECS_TYPE> var2, @Nonnull Codec<Component<ECS_TYPE>> var3) {
ExtraInfo var4 = ExtraInfo.THREAD_LOCAL.get();
BsonValue var5 = var3.encode(var2, var4);
var4.getValidationResults().logOrThrowValidatorExceptions(LOGGER);
this.unknownComponents.put(var1, var5.asDocument());
}
class="kw">public void addComponent(@Nonnull String var1, @Nonnull TempUnknownComponent<ECS_TYPE> var2) {
this.unknownComponents.put(var1, var2.getDocument());
}
class="kw">public boolean contains(@Nonnull String var1) {
class="kw">return this.unknownComponents.containsKey(var1);
}
@Nullable
class="kw">public <T class="kw">extends Component<ECS_TYPE>> T removeComponent(@Nonnull String var1, @Nonnull Codec<T> var2) {
BsonDocument var3 = this.unknownComponents.remove(var1);
if (var3 == null) {
class="kw">return null;
}
ExtraInfo var4 = ExtraInfo.THREAD_LOCAL.get();
Component var5 = (T)var2.decode(var3, var4);
var4.getValidationResults().logOrThrowValidatorExceptions(LOGGER);
class="kw">return var5;
}
@Nonnull
class="kw">public Map<String, BsonDocument> getUnknownComponents() {
class="kw">return this.unknownComponents;
}
@Nonnull
@Override
class="kw">public Component<ECS_TYPE> clone() {
class="kw">return new UnknownComponents<>(new Object2ObjectOpenHashMap(this.unknownComponents));
}
}