ColorAlphaCodec class
Пакет: com.hypixel.hytale.server.core.codec.protocol
Файл: com/hypixel/hytale/server/core/codec/protocol/ColorAlphaCodec.java
implements: Codec<ColorAlpha>
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
|
StringSchema |
var2 |
|
ColorAlpha |
var3 |
|
ColorAlpha |
var3 |
|
StringSchema |
var3 |
|
StringSchema |
var4 |
|
StringSchema |
var5 |
|
Schema |
var6 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var3 != null) |
|
|
if if(var3 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.codec.protocol;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.ExtraInfo;
class="kw">import com.hypixel.hytale.codec.exception.CodecException;
class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.schema.config.StringSchema;
class="kw">import com.hypixel.hytale.codec.util.RawJsonReader;
class="kw">import com.hypixel.hytale.protocol.ColorAlpha;
class="kw">import com.hypixel.hytale.server.core.asset.util.ColorParseUtil;
class="kw">import java.io.IOException;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.bson.BsonString;
class="kw">import org.bson.BsonValue;
class="kw">public class ColorAlphaCodec class="kw">implements Codec<ColorAlpha> {
class="kw">public ColorAlphaCodec() {
}
@Nonnull
class="kw">public BsonValue encode(ColorAlpha var1, ExtraInfo var2) {
class="kw">return new BsonString(ColorParseUtil.colorToHexAlphaString(var1));
}
@Nonnull
class="kw">public ColorAlpha decode(@Nonnull BsonValue var1, ExtraInfo var2) {
ColorAlpha var3 = ColorParseUtil.parseColorAlpha(var1.asString().getValue());
if (var3 != null) {
class="kw">return var3;
} else {
throw new CodecException("Invalid color format, expected: #RGBA, #RRGGBBAA, rgba(#RGB,A), rgba(#RRGGBB,A) or rgba(R,G,B,A)");
}
}
@Nonnull
class="kw">public ColorAlpha decodeJson(@Nonnull RawJsonReader var1, ExtraInfo var2) class="kw">throws IOException {
var1.expect('"');
ColorAlpha var3 = ColorParseUtil.readColorAlpha(var1);
var1.expect('"');
if (var3 != null) {
class="kw">return var3;
} else {
throw new CodecException("Invalid color format, expected: #RGBA, #RRGGBBAA, rgba(#RGB,A), rgba(#RRGGBB,A) or rgba(R,G,B,A)");
}
}
@Nonnull
@Override
class="kw">public Schema toSchema(@Nonnull SchemaContext var1) {
StringSchema var2 = new StringSchema();
var2.setPattern(ColorParseUtil.HEX_COLOR_PATTERN);
StringSchema var3 = new StringSchema();
var3.setPattern(ColorParseUtil.HEX_ALPHA_COLOR_PATTERN);
StringSchema var4 = new StringSchema();
var4.setPattern(ColorParseUtil.RGBA_HEX_COLOR_PATTERN);
StringSchema var5 = new StringSchema();
var5.setPattern(ColorParseUtil.RGBA_COLOR_PATTERN);
Schema var6 = Schema.anyOf(var2, var3, var4, var5);
var6.setTitle("Color RGBA");
var6.getHytale().setType("ColorAlpha");
class="kw">return var6;
}
}