hytale-server/com/hypixel/hytale/codec/validation/ValidatableCodec.java

28 lines
844 B
Java

package com.hypixel.hytale.codec.validation;
import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.ExtraInfo;
import com.hypixel.hytale.codec.WrappedCodec;
import java.util.Set;
public interface ValidatableCodec<T> extends Codec<T> {
void validate(T var1, ExtraInfo var2);
void validateDefaults(ExtraInfo var1, Set<Codec<?>> var2);
static void validateDefaults(Codec<?> codec, ExtraInfo extraInfo, Set<Codec<?>> tested) {
while (true) {
if (codec instanceof WrappedCodec<?> wrappedCodec) {
codec = wrappedCodec.getChildCodec();
if (codec != null) {
continue;
}
} else if (codec instanceof ValidatableCodec<?> validatableCodec) {
validatableCodec.validateDefaults(extraInfo, tested);
}
return;
}
}
}