package com.hypixel.hytale.procedurallib.json;
import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public interface SeedResource {
String INFO_SEED_REPORT = "Seed Value: %s for seed %s / %s";
String INFO_SEED_OVERWRITE_REPORT = "Seed Value: %s for seed %s / %s overwritten by %s";
@Nonnull
default ResultBuffer.Bounds2d localBounds2d() {
return ResultBuffer.bounds2d;
}
@Nonnull
default ResultBuffer.ResultBuffer2d localBuffer2d() {
return ResultBuffer.buffer2d;
}
@Nonnull
default ResultBuffer.ResultBuffer3d localBuffer3d() {
return ResultBuffer.buffer3d;
}
default boolean shouldReportSeeds() {
return false;
}
default void reportSeeds(int seedVal, String original, String seed, @Nullable String overwritten) {
if (this.shouldReportSeeds()) {
if (overwritten == null) {
this.writeSeedReport(String.format("Seed Value: %s for seed %s / %s", seedVal, original, seed));
} else {
this.writeSeedReport(String.format("Seed Value: %s for seed %s / %s overwritten by %s", seedVal, original, seed, overwritten));
}
}
}
default void writeSeedReport(String seedReport) {
System.out.println(seedReport);
}
}