MaskProviderJsonLoader class
Пакет: com.hypixel.hytale.server.worldgen.loader
Файл: com/hypixel/hytale/server/worldgen/loader/MaskProviderJsonLoader.java
extends: JsonLoader<SeedStringResource, MaskProvider>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
AssetLoader<BufferedImage> |
IMAGE_LOADER |
|
BufferedImage |
var1 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IOExceptionthrow new IOException("Failed to load image " + var0, var2) |
|
public BufferedImage |
loadpublic BufferedImage load(@Nonnull InputStream var1) |
static |
BufferedImage |
loadImageBufferedImage loadImage(@Nonnull Path var0) |
|
public Class<BufferedImage> |
typepublic Class<BufferedImage> type() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.procedurallib.file.AssetLoader;
class="kw">import com.hypixel.hytale.procedurallib.file.FileIO;
class="kw">import com.hypixel.hytale.procedurallib.json.CoordinateRandomizerJsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.JsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.chunk.MaskProvider;
class="kw">import com.hypixel.hytale.server.worldgen.zoom.FuzzyZoom;
class="kw">import com.hypixel.hytale.server.worldgen.zoom.PixelProvider;
class="kw">import java.awt.image.BufferedImage;
class="kw">import java.io.BufferedInputStream;
class="kw">import java.io.IOException;
class="kw">import java.io.InputStream;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.imageio.ImageIO;
class="kw">import org.joml.Vector2i;
class="kw">public class MaskProviderJsonLoader class="kw">extends JsonLoader<SeedStringResource, MaskProvider> {
class="kw">public class="kw">static class="kw">final AssetLoader<BufferedImage> IMAGE_LOADER = new AssetLoader<BufferedImage>() {
@Override
class="kw">public Class<BufferedImage> type() {
class="kw">return BufferedImage.class;
}
@Nonnull
class="kw">public BufferedImage load(@Nonnull InputStream var1) class="kw">throws IOException {
class="kw">return ImageIO.read(new BufferedInputStream(var1));
}
};
class="kw">protected class="kw">final Path file;
class="kw">protected class="kw">final Vector2i zoomSize;
class="kw">protected class="kw">final Vector2i worldOffset;
class="kw">public MaskProviderJsonLoader(@Nonnull SeedString<SeedStringResource> var1, Path var2, JsonElement var3, Path var4, Vector2i var5, Vector2i var6) {
super(var1.append(".MaskProvider"), var2, var3);
this.file = var4;
this.zoomSize = var5;
this.worldOffset = var6;
}
@Nonnull
class="kw">public MaskProvider load() {
try {
BufferedImage var1 = loadImage(this.file);
class="kw">return new MaskProvider(this.loadFuzzyZoom(var1));
} catch (Throwable var2) {
throw new Error("Error while loading MaskProvider in " + this.file.toAbsolutePath(), var2);
}
}
class="kw">public class="kw">static BufferedImage loadImage(@Nonnull Path var0) class="kw">throws IOException {
try {
class="kw">return FileIO.load(var0, IMAGE_LOADER);
} catch (IOException var2) {
throw new IOException("Failed to load image " + var0, var2);
}
}
@Nonnull
class="kw">protected FuzzyZoom loadFuzzyZoom(@Nonnull BufferedImage var1) {
class="kw">return new FuzzyZoom(
new CoordinateRandomizerJsonLoader<>(this.seed, this.dataFolder, this.json).load(),
new PixelProvider(var1),
(double)this.zoomSize.x() / var1.getWidth(),
(double)this.zoomSize.y() / var1.getHeight(),
this.worldOffset.x,
this.worldOffset.y
);
}
}