diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..204820e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "pack-schema/generator/src/main/resources/schema"] + path = pack-schema/generator/src/main/resources/schema + url = https://github.com/Blockception/Minecraft-bedrock-json-schemas diff --git a/bootstrap/build.gradle.kts b/bootstrap/build.gradle.kts index 0bacbc1..33745c8 100644 --- a/bootstrap/build.gradle.kts +++ b/bootstrap/build.gradle.kts @@ -7,7 +7,7 @@ dependencies { } application { - mainClass.set("org.geysermc.packconverter.boostrap.Main") + mainClass.set("org.geysermc.pack.converter.boostrap.Main") } tasks.withType { diff --git a/bootstrap/src/main/java/org/geysermc/packconverter/bootstrap/Main.java b/bootstrap/src/main/java/org/geysermc/packconverter/bootstrap/Main.java index d84d41d..672378b 100644 --- a/bootstrap/src/main/java/org/geysermc/packconverter/bootstrap/Main.java +++ b/bootstrap/src/main/java/org/geysermc/packconverter/bootstrap/Main.java @@ -26,7 +26,8 @@ package org.geysermc.packconverter.bootstrap; -import org.geysermc.packconverter.PackConverter; +import org.geysermc.pack.converter.PackConverter; +import org.geysermc.pack.converter.converters.Converters; import java.io.FileNotFoundException; import java.io.IOException; @@ -52,10 +53,11 @@ public class Main { } try { - PackConverter packConverter = new PackConverter(packFile, Paths.get(packFile.toString().replaceFirst("[.][^.]+$", ".mcpack"))); - packConverter.convert(); - packConverter.pack(); - packConverter.cleanup(); + new PackConverter() + .input(packFile) + .output(Paths.get(packFile.toString().replaceFirst("[.][^.]+$", ".mcpack"))) + .converters(Converters.defaultConverters()) + .convert(); } catch (IOException e) { e.printStackTrace(); } diff --git a/build.gradle.kts b/build.gradle.kts index d2aaa60..4b99077 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,9 @@ allprojects { // Geyser, Floodgate, Cumulus etc. maven("https://repo.opencollab.dev/main") maven("https://repo.opencollab.dev/maven-snapshots") + + // Java pack library + maven("https://repo.unnamed.team/repository/unnamed-public/") } group = "org.geysermc" diff --git a/converter/build.gradle.kts b/converter/build.gradle.kts index 00922ba..546faec 100644 --- a/converter/build.gradle.kts +++ b/converter/build.gradle.kts @@ -1,10 +1,16 @@ dependencies { - implementation("com.fasterxml.jackson.core:jackson-databind:2.14.0") + api(project(":pack-schema-api")) + implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2") implementation("com.twelvemonkeys.imageio:imageio-tga:3.5") implementation("com.nukkitx.fastutil:fastutil-int-object-maps:8.5.3") implementation("net.kyori:adventure-api:4.13.1") implementation("net.kyori:adventure-text-serializer-gson:4.13.1") implementation("net.kyori:adventure-text-serializer-legacy:4.13.1") + implementation("team.unnamed:creative-api:0.7.1-SNAPSHOT") + implementation("team.unnamed:creative-serializer-minecraft:0.7.1-SNAPSHOT") + + compileOnly("com.google.auto.service:auto-service:1.0.1") + annotationProcessor("com.google.auto.service:auto-service:1.0.1") } tasks.withType { diff --git a/converter/src/main/java/org/geysermc/pack/converter/PackConversionContext.java b/converter/src/main/java/org/geysermc/pack/converter/PackConversionContext.java new file mode 100644 index 0000000..984f150 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/PackConversionContext.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter; + +import org.geysermc.pack.bedrock.resource.BedrockResourcePack; +import org.geysermc.pack.converter.utils.LogListener; +import org.geysermc.pack.converter.data.ConversionData; +import org.jetbrains.annotations.NotNull; +import team.unnamed.creative.ResourcePack; + +import java.nio.file.Path; + +public record PackConversionContext( + @NotNull T data, + @NotNull PackConverter packConverter, + @NotNull ResourcePack javaResourcePack, + @NotNull BedrockResourcePack bedrockResourcePack, + @NotNull LogListener logListener) { + + public Path inputDirectory() { + return data.inputDirectory(); + } + + public Path outputDirectory() { + return data.outputDirectory(); + } + + public void info(@NotNull String message) { + logListener.info(message); + } + + public void warn(@NotNull String message) { + logListener.warn(message); + } + + public void error(@NotNull String message) { + logListener.error(message); + } + + public void error(@NotNull String message, @NotNull Throwable exception) { + logListener.error(message, exception); + } +} diff --git a/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java b/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java new file mode 100644 index 0000000..a081d77 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter; + +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import lombok.Getter; +import lombok.Setter; +import org.geysermc.pack.bedrock.resource.BedrockResourcePack; +import org.geysermc.pack.converter.converters.Converter; +import org.geysermc.pack.converter.data.ConversionData; +import org.geysermc.pack.converter.utils.DefaultLogListener; +import org.geysermc.pack.converter.utils.LogListener; +import org.geysermc.pack.converter.utils.ZipUtils; +import org.jetbrains.annotations.NotNull; +import team.unnamed.creative.ResourcePack; +import team.unnamed.creative.serialize.minecraft.MinecraftResourcePackReader; + +import javax.imageio.ImageIO; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PackConverter { + private Path input; + private Path output; + + @Getter + private final Map> customModelData = new HashMap<>(); + + private final List> converters = new ArrayList<>(); + + private Path tmpDir; + + @Setter + private LogListener logListener = new DefaultLogListener(); + + public PackConverter input(@NotNull Path input) { + this.input = input; + return this; + } + + public PackConverter output(@NotNull Path output) { + this.output = output; + return this; + } + + public PackConverter converter(@NotNull Converter converter) { + this.converters.add(converter); + return this; + } + + public PackConverter converters(@NotNull List> converters) { + this.converters.addAll(converters); + return this; + } + + public PackConverter logListener(@NotNull LogListener logListener) { + this.logListener = logListener; + return this; + } + + /** + * Convert all resources in the pack using the converters + */ + public void convert() throws IOException { + if (this.input == null) { + throw new NullPointerException("Input cannot be null"); + } + + if (this.output == null) { + throw new NullPointerException("Output cannot be null"); + } + + // Load any image plugins + ImageIO.scanForPlugins(); + + this.tmpDir = this.input.toAbsolutePath().getParent().resolve(this.output.getFileName() + "_mcpack/"); + + if (this.converters.isEmpty()) { + throw new IllegalStateException("No converters have been added"); + } + + ResourcePack javaResourcePack = MinecraftResourcePackReader.minecraft().readFromZipFile(this.input); + BedrockResourcePack bedrockResourcePack = new BedrockResourcePack(this.tmpDir); + + int errors = 0; + for (Converter converter : this.converters) { + ConversionData data = converter.createConversionData(this, this.input, this.output); + PackConversionContext context = new PackConversionContext<>(data, this, javaResourcePack, bedrockResourcePack, this.logListener); + + try { + converter.convert(context); + } catch (Throwable t) { + this.logListener.error("Error converting pack!", t); + errors++; + } + } + + bedrockResourcePack.export(); + + if (errors > 0) { + this.logListener.warn("Pack conversion completed with " + errors + " errors!"); + } else { + this.logListener.info("Pack conversion completed successfully!"); + } + + this.pack(); + this.cleanup(); + } + + /** + * Convert the temporary folder into the output zip + */ + public void pack() { + ZipUtils zipUtils = new ZipUtils(this, this.tmpDir.toFile()); + zipUtils.generateFileList(); + zipUtils.zipIt(this.logListener, this.output.toString()); + } + + /** + * Remove the temporary folder generated by the converter. + * Silently fails. + */ + public void cleanup() { + try { + Files.delete(tmpDir); + } catch (IOException ignored) { + } + } +} diff --git a/converter/src/main/java/org/geysermc/pack/converter/converters/BaseConverter.java b/converter/src/main/java/org/geysermc/pack/converter/converters/BaseConverter.java new file mode 100644 index 0000000..cc570a7 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/converters/BaseConverter.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter.converters; + +import org.geysermc.pack.converter.PackConverter; +import org.geysermc.pack.converter.data.BaseConversionData; +import org.jetbrains.annotations.NotNull; + +import java.nio.file.Path; + +public abstract class BaseConverter implements Converter { + + @Override + public BaseConversionData createConversionData(@NotNull PackConverter converter, @NotNull Path inputDirectory, @NotNull Path outputDirectory) { + return new BaseConversionData(inputDirectory, outputDirectory); + } +} diff --git a/converter/src/main/java/org/geysermc/pack/converter/converters/Converter.java b/converter/src/main/java/org/geysermc/pack/converter/converters/Converter.java new file mode 100644 index 0000000..ffbebf0 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/converters/Converter.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter.converters; + +import org.geysermc.pack.converter.PackConversionContext; +import org.geysermc.pack.converter.PackConverter; +import org.geysermc.pack.converter.data.ConversionData; +import org.jetbrains.annotations.NotNull; + +import java.nio.file.Path; + +public interface Converter { + + void convert(@NotNull PackConversionContext context) throws Exception; + + T createConversionData(@NotNull PackConverter converter, @NotNull Path inputDirectory, @NotNull Path outputDirectory); + + default boolean isExperimental() { + return false; + } +} diff --git a/converter/src/main/java/org/geysermc/pack/converter/converters/Converters.java b/converter/src/main/java/org/geysermc/pack/converter/converters/Converters.java new file mode 100644 index 0000000..5888be4 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/converters/Converters.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter.converters; + +import java.util.List; +import java.util.ServiceLoader; + +public class Converters { + + public static List> defaultConverters() { + return defaultConverters(false); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + public static List> defaultConverters(boolean experimental) { + return (List) ServiceLoader.load(Converter.class).stream() + .map(ServiceLoader.Provider::get) + .filter(converter -> experimental || !converter.isExperimental()) + .toList(); + } +} diff --git a/converter/src/main/java/org/geysermc/pack/converter/converters/base/PackManifestConverter.java b/converter/src/main/java/org/geysermc/pack/converter/converters/base/PackManifestConverter.java new file mode 100644 index 0000000..0a6b86a --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/converters/base/PackManifestConverter.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter.converters.base; + +import com.google.auto.service.AutoService; +import org.geysermc.pack.bedrock.resource.Manifest; +import org.geysermc.pack.bedrock.resource.manifest.Header; +import org.geysermc.pack.bedrock.resource.manifest.Modules; +import org.geysermc.pack.converter.PackConversionContext; +import org.geysermc.pack.converter.converters.BaseConverter; +import org.geysermc.pack.converter.converters.Converter; +import org.geysermc.pack.converter.data.BaseConversionData; +import org.jetbrains.annotations.NotNull; +import team.unnamed.creative.ResourcePack; + +import java.util.List; +import java.util.UUID; + +@AutoService(Converter.class) +public class PackManifestConverter extends BaseConverter { + private static final int FORMAT_VERSION = 2; + + @Override + public void convert(@NotNull PackConversionContext context) throws Exception { + ResourcePack javaPack = context.javaResourcePack(); + + Manifest manifest = new Manifest(); + manifest.formatVersion(FORMAT_VERSION); + + Header header = new Header(); + header.description(javaPack.description()); + header.name(context.inputDirectory().getFileName().toString().split("\\.")[0]); + header.version(new float[] { 1, 0, 0 }); + header.minEngineVersion(new float[] { 1, 16, 0 }); + header.uuid(UUID.randomUUID().toString()); + + manifest.header(header); + + Modules module = new Modules(); + module.description(javaPack.description()); + module.type("resources"); + module.uuid(UUID.randomUUID().toString()); + module.version(new float[] { 1, 0, 0 }); + + manifest.modules(List.of(module)); + context.bedrockResourcePack().manifest(manifest); + } +} diff --git a/converter/src/main/java/org/geysermc/pack/converter/data/BaseConversionData.java b/converter/src/main/java/org/geysermc/pack/converter/data/BaseConversionData.java new file mode 100644 index 0000000..276e125 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/data/BaseConversionData.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter.data; + +import org.jetbrains.annotations.NotNull; + +import java.nio.file.Path; + +public class BaseConversionData implements ConversionData { + private final Path inputDirectory; + private final Path outputDirectory; + + public BaseConversionData(@NotNull Path inputDirectory, @NotNull Path outputDirectory) { + this.inputDirectory = inputDirectory; + this.outputDirectory = outputDirectory; + } + + @Override + public @NotNull Path inputDirectory() { + return this.inputDirectory; + } + + @Override + public @NotNull Path outputDirectory() { + return this.outputDirectory; + } +} diff --git a/converter/src/main/java/org/geysermc/packconverter/utils/OnLogListener.java b/converter/src/main/java/org/geysermc/pack/converter/data/ConversionData.java similarity index 84% rename from converter/src/main/java/org/geysermc/packconverter/utils/OnLogListener.java rename to converter/src/main/java/org/geysermc/pack/converter/data/ConversionData.java index 8bb40d3..a3cd9c2 100644 --- a/converter/src/main/java/org/geysermc/packconverter/utils/OnLogListener.java +++ b/converter/src/main/java/org/geysermc/pack/converter/data/ConversionData.java @@ -24,8 +24,17 @@ * */ -package org.geysermc.packconverter.utils; +package org.geysermc.pack.converter.data; -public interface OnLogListener { - void onLog(); +import org.jetbrains.annotations.NotNull; + +import java.nio.file.Path; + +public interface ConversionData { + + @NotNull + Path inputDirectory(); + + @NotNull + Path outputDirectory(); } diff --git a/converter/src/main/java/org/geysermc/packconverter/utils/CustomModelDataHandler.java b/converter/src/main/java/org/geysermc/pack/converter/utils/CustomModelDataHandler.java similarity index 99% rename from converter/src/main/java/org/geysermc/packconverter/utils/CustomModelDataHandler.java rename to converter/src/main/java/org/geysermc/pack/converter/utils/CustomModelDataHandler.java index 304e176..cfce62d 100644 --- a/converter/src/main/java/org/geysermc/packconverter/utils/CustomModelDataHandler.java +++ b/converter/src/main/java/org/geysermc/pack/converter/utils/CustomModelDataHandler.java @@ -24,7 +24,7 @@ * */ -package org.geysermc.packconverter.utils; +package org.geysermc.pack.converter.utils; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/converter/src/main/java/org/geysermc/pack/converter/utils/DefaultLogListener.java b/converter/src/main/java/org/geysermc/pack/converter/utils/DefaultLogListener.java new file mode 100644 index 0000000..00c3aa4 --- /dev/null +++ b/converter/src/main/java/org/geysermc/pack/converter/utils/DefaultLogListener.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.converter.utils; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class DefaultLogListener implements LogListener { + + @Override + public void info(@NotNull String message) { + System.out.println("[INFO] " + message); + } + + @Override + public void warn(@NotNull String message) { + System.out.println("[WARN] " + message); + } + + @Override + public void error(@NotNull String message) { + System.out.println("[ERROR] " + message); + } + + @Override + public void error(@NotNull String message, @Nullable Throwable exception) { + this.error(message); + if (exception != null) { + exception.printStackTrace(); + } + } +} diff --git a/converter/src/main/java/org/geysermc/packconverter/utils/ImageUtils.java b/converter/src/main/java/org/geysermc/pack/converter/utils/ImageUtils.java similarity index 99% rename from converter/src/main/java/org/geysermc/packconverter/utils/ImageUtils.java rename to converter/src/main/java/org/geysermc/pack/converter/utils/ImageUtils.java index 87a90cb..d067365 100644 --- a/converter/src/main/java/org/geysermc/packconverter/utils/ImageUtils.java +++ b/converter/src/main/java/org/geysermc/pack/converter/utils/ImageUtils.java @@ -24,7 +24,7 @@ * */ -package org.geysermc.packconverter.utils; +package org.geysermc.pack.converter.utils; import javax.imageio.ImageIO; import java.awt.*; diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/AbstractConverter.java b/converter/src/main/java/org/geysermc/pack/converter/utils/LogListener.java similarity index 71% rename from converter/src/main/java/org/geysermc/packconverter/converters/AbstractConverter.java rename to converter/src/main/java/org/geysermc/pack/converter/utils/LogListener.java index 3f4c612..26bec01 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/AbstractConverter.java +++ b/converter/src/main/java/org/geysermc/pack/converter/utils/LogListener.java @@ -24,24 +24,17 @@ * */ -package org.geysermc.packconverter.converters; +package org.geysermc.pack.converter.utils; -import lombok.AllArgsConstructor; -import org.geysermc.packconverter.PackConverter; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; +public interface LogListener { + void info(@NotNull String message); -@AllArgsConstructor -public abstract class AbstractConverter { - PackConverter packConverter; - Path storage; - Object[] data; + void warn(@NotNull String message); - public static List getDefaultData() { - return new ArrayList<>(); - }; + void error(@NotNull String message); - public abstract List convert(); + void error(@NotNull String message, @Nullable Throwable exception); } diff --git a/converter/src/main/java/org/geysermc/packconverter/utils/ResourcePackManifest.java b/converter/src/main/java/org/geysermc/pack/converter/utils/ResourcePackManifest.java similarity index 98% rename from converter/src/main/java/org/geysermc/packconverter/utils/ResourcePackManifest.java rename to converter/src/main/java/org/geysermc/pack/converter/utils/ResourcePackManifest.java index a8650f6..d994bc2 100644 --- a/converter/src/main/java/org/geysermc/packconverter/utils/ResourcePackManifest.java +++ b/converter/src/main/java/org/geysermc/pack/converter/utils/ResourcePackManifest.java @@ -24,7 +24,7 @@ * */ -package org.geysermc.packconverter.utils; +package org.geysermc.pack.converter.utils; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/converter/src/main/java/org/geysermc/packconverter/utils/ZipUtils.java b/converter/src/main/java/org/geysermc/pack/converter/utils/ZipUtils.java similarity index 91% rename from converter/src/main/java/org/geysermc/packconverter/utils/ZipUtils.java rename to converter/src/main/java/org/geysermc/pack/converter/utils/ZipUtils.java index 6a5e309..e8d61b1 100644 --- a/converter/src/main/java/org/geysermc/packconverter/utils/ZipUtils.java +++ b/converter/src/main/java/org/geysermc/pack/converter/utils/ZipUtils.java @@ -24,9 +24,9 @@ * */ -package org.geysermc.packconverter.utils; +package org.geysermc.pack.converter.utils; -import org.geysermc.packconverter.PackConverter; +import org.geysermc.pack.converter.PackConverter; import java.io.File; import java.io.FileInputStream; @@ -52,7 +52,7 @@ public class ZipUtils { this.sourceFolder = sourceFolder; } - public void zipIt(String zipFile) { + public void zipIt(LogListener listener, String zipFile) { byte[] buffer = new byte[1024]; String source = sourceFolder.getName(); FileOutputStream fos = null; @@ -61,11 +61,11 @@ public class ZipUtils { fos = new FileOutputStream(zipFile); zos = new ZipOutputStream(fos); - packConverter.log("Output to zip " + zipFile); + listener.info("Output to zip " + zipFile); FileInputStream in = null; for (String file: this.fileList) { - packConverter.log("File added " + file); + listener.info("File added " + file); ZipEntry ze = new ZipEntry(file); zos.putNextEntry(ze); try { @@ -81,8 +81,7 @@ public class ZipUtils { } zos.closeEntry(); - packConverter.log("Folder successfully compressed"); - + listener.info("Folder successfully compressed"); } catch (IOException ex) { ex.printStackTrace(); } finally { diff --git a/converter/src/main/java/org/geysermc/packconverter/ConverterHandler.java b/converter/src/main/java/org/geysermc/packconverter/ConverterHandler.java deleted file mode 100644 index 50d6f06..0000000 --- a/converter/src/main/java/org/geysermc/packconverter/ConverterHandler.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * @author GeyserMC - * @link https://github.com/GeyserMC/PackConverter - * - */ - -package org.geysermc.packconverter; - -import org.geysermc.packconverter.converters.AbstractConverter; -import org.geysermc.packconverter.converters.AtlasConverter; -import org.geysermc.packconverter.converters.BannerPatternBlackConverter; -import org.geysermc.packconverter.converters.BannerPatternConverter; -import org.geysermc.packconverter.converters.BannerPatternPreviewMaxSizeConverter; -import org.geysermc.packconverter.converters.BarConverter; -import org.geysermc.packconverter.converters.BedConverter; -import org.geysermc.packconverter.converters.BeeConverter; -import org.geysermc.packconverter.converters.ChestFrontConverter; -import org.geysermc.packconverter.converters.ChestLeftRightDoubleConverter; -import org.geysermc.packconverter.converters.ChestNormalConverter; -import org.geysermc.packconverter.converters.ChestSideConverter; -import org.geysermc.packconverter.converters.ColorizeOverlayConverter; -import org.geysermc.packconverter.converters.CopyConverter; -import org.geysermc.packconverter.converters.CustomModelDataConverter; -import org.geysermc.packconverter.converters.DeleteConverter; -import org.geysermc.packconverter.converters.DespriteConverter; -import org.geysermc.packconverter.converters.DespriteExperimentalConverter; -import org.geysermc.packconverter.converters.DestroyStageConverter; -import org.geysermc.packconverter.converters.DolphinConverter; -import org.geysermc.packconverter.converters.DrownedConverter; -import org.geysermc.packconverter.converters.EnchantedItemGlintConverter; -import org.geysermc.packconverter.converters.FireworksConverter; -import org.geysermc.packconverter.converters.FishHookConverter; -import org.geysermc.packconverter.converters.FixWrongRootFolderConverter; -import org.geysermc.packconverter.converters.FoxConverter; -import org.geysermc.packconverter.converters.HorseConverter; -import org.geysermc.packconverter.converters.IconsConverter; -import org.geysermc.packconverter.converters.MapIconsConverter; -import org.geysermc.packconverter.converters.MetadataConverter; -import org.geysermc.packconverter.converters.NineSliceConverter; -import org.geysermc.packconverter.converters.OpaqueConverter; -import org.geysermc.packconverter.converters.OverlayToTranslateConverter; -import org.geysermc.packconverter.converters.Particles1_13Converter; -import org.geysermc.packconverter.converters.PistonArmConverter; -import org.geysermc.packconverter.converters.PlaceholderConverter; -import org.geysermc.packconverter.converters.PngToTgaConverter; -import org.geysermc.packconverter.converters.RedstoneDustConverter; -import org.geysermc.packconverter.converters.RenameConverter; -import org.geysermc.packconverter.converters.SheepConverter; -import org.geysermc.packconverter.converters.SideRotateConverter; -import org.geysermc.packconverter.converters.SpriteConverter; -import org.geysermc.packconverter.converters.TitleConverter; -import org.geysermc.packconverter.converters.TurtleConverter; -import org.geysermc.packconverter.converters.VillagerConverter; -import org.geysermc.packconverter.converters.WaterConverter; -import org.geysermc.packconverter.converters.WeatherConverter; - -import java.util.ArrayList; -import java.util.List; - -public class ConverterHandler { - public static final List> converterList = new ArrayList<>(); - - public static boolean enableExperimental = false; - - static { - converterList.add(FixWrongRootFolderConverter.class); - converterList.add(MetadataConverter.class); - converterList.add(RenameConverter.class); - converterList.add(AtlasConverter.class); - converterList.add(BannerPatternConverter.class); - converterList.add(BedConverter.class); - converterList.add(ChestNormalConverter.class); - converterList.add(ChestLeftRightDoubleConverter.class); - converterList.add(ChestFrontConverter.class); - converterList.add(ChestSideConverter.class); - converterList.add(DrownedConverter.class); - converterList.add(DolphinConverter.class); - converterList.add(FireworksConverter.class); - converterList.add(FishHookConverter.class); - converterList.add(FoxConverter.class); - converterList.add(HorseConverter.class); - converterList.add(IconsConverter.class); - converterList.add(BannerPatternBlackConverter.class); - converterList.add(MapIconsConverter.class); - converterList.add(PistonArmConverter.class); - converterList.add(RedstoneDustConverter.class); - converterList.add(SheepConverter.class); - converterList.add(VillagerConverter.class); - converterList.add(TurtleConverter.class); - converterList.add(WeatherConverter.class); - converterList.add(OpaqueConverter.class); - converterList.add(WaterConverter.class); - converterList.add(BeeConverter.class); - converterList.add(TitleConverter.class); - converterList.add(DespriteConverter.class); - if (enableExperimental) { converterList.add(DespriteExperimentalConverter.class); } // Experimental - converterList.add(BarConverter.class); - if (enableExperimental) { converterList.add(NineSliceConverter.class); } // Experimental - //if (enableExperimental) { converterList.add(DialogConverter.class); } // Experimental TODO: Finish - converterList.add(OverlayToTranslateConverter.class); - converterList.add(ColorizeOverlayConverter.class); - converterList.add(PlaceholderConverter.class); - converterList.add(SideRotateConverter.class); - //converterList.add(ArrowConverter.class); // This is disabled as its broken and the intended output it just the original - converterList.add(Particles1_13Converter.class); - converterList.add(SpriteConverter.class); - converterList.add(DestroyStageConverter.class); - converterList.add(EnchantedItemGlintConverter.class); - converterList.add(BannerPatternPreviewMaxSizeConverter.class); - converterList.add(PngToTgaConverter.class); - converterList.add(CopyConverter.class); - - // Custom, not part of the original lib - converterList.add(CustomModelDataConverter.class); - - converterList.add(DeleteConverter.class); - } -} diff --git a/converter/src/main/java/org/geysermc/packconverter/PackConverter.java b/converter/src/main/java/org/geysermc/packconverter/PackConverter.java deleted file mode 100644 index 64e9929..0000000 --- a/converter/src/main/java/org/geysermc/packconverter/PackConverter.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * @author GeyserMC - * @link https://github.com/GeyserMC/PackConverter - * - */ - -package org.geysermc.packconverter; - -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -import lombok.Getter; -import lombok.Setter; -import org.geysermc.packconverter.utils.OnLogListener; -import org.geysermc.packconverter.utils.ZipUtils; -import org.geysermc.packconverter.converters.AbstractConverter; - -import javax.imageio.ImageIO; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.InvocationTargetException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -public class PackConverter { - - @Getter - private final Map> customModelData = new HashMap<>(); - - private Path input; - private Path output; - - private Path tmpDir; - - @Setter - private OnLogListener onLogListener; - - public PackConverter(Path input, Path output) throws IOException { - this.input = input; - this.output = output; - - // Load any image plugins - ImageIO.scanForPlugins(); - - // Extract the zip to a temp location - // This is quite slow, maybe try and find a faster method? - tmpDir = input.toAbsolutePath().getParent().resolve(input.getFileName() + "_mcpack/"); - ZipFile zipFile = new ZipFile(input.toFile()); - - ZipEntry entry; - final Enumeration entries = zipFile.entries(); - while (entries.hasMoreElements()) { - entry = entries.nextElement(); - - if (!entry.isDirectory()) { - File newFile = tmpDir.resolve(entry.getName()).toFile(); - newFile.getParentFile().mkdirs(); - - InputStream fileStream = zipFile.getInputStream(entry); - FileOutputStream outStream = new FileOutputStream(newFile); - - byte[] buf = new byte[fileStream.available()]; - int length; - while ((length = fileStream.read(buf)) != -1) { - outStream.write(buf, 0, length); - } - - outStream.flush(); - outStream.close(); - } - } - } - - /** - * Convert all resources in the pack using the converters - */ - public void convert() { - List additionalConverters = new ArrayList<>(); - - for (Class converterClass : ConverterHandler.converterList) { - try { - List defaultData = (List) converterClass.getMethod("getDefaultData").invoke(null); - - AbstractConverter converter; - for (Object[] data : defaultData) { - converter = converterClass.getDeclaredConstructor(PackConverter.class, Path.class, Object[].class).newInstance(this, tmpDir, data); - - additionalConverters.addAll(converter.convert()); - } - } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { } - } - - for (AbstractConverter converter : additionalConverters) { - converter.convert(); - } - } - - /** - * Convert the temporary folder into the output zip - */ - public void pack() { - ZipUtils zipUtils = new ZipUtils(this, tmpDir.toFile()); - zipUtils.generateFileList(); - zipUtils.zipIt(output.toString()); - } - - /** - * Remove the temporary folder generated by the converter. - * Silently fails. - */ - public void cleanup() { - try { - Files.delete(tmpDir); - } catch (IOException ignored) { } - } - - public void log(String message) { - if (onLogListener != null) { - onLogListener.onLog(); - } else { - System.out.println(message); - } - } -} diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/ArrowConverter.java b/legacy/ArrowConverter.java similarity index 83% rename from converter/src/main/java/org/geysermc/packconverter/converters/ArrowConverter.java rename to legacy/ArrowConverter.java index 31886c6..3b57868 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/ArrowConverter.java +++ b/legacy/ArrowConverter.java @@ -27,11 +27,14 @@ package org.geysermc.packconverter.converters; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; -import java.awt.*; +import java.awt.Color; +import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +// @AutoService(Converter.class) public class ArrowConverter extends AbstractConverter { @Getter @@ -48,23 +52,19 @@ public class ArrowConverter extends AbstractConverter { defaultData.add(new Object[] {"textures/entity/projectiles/arrow.png", "textures/entity/arrows.png"}); } - public ArrowConverter(PackConverter packConverter, Path storage, Object[] data) { - super(packConverter, storage, data); - } - @Override - public List convert() { + public void convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; - File fromFile = storage.resolve(from).toFile(); + File fromFile = context.storage().resolve(from).toFile(); if (!fromFile.exists()) { - return new ArrayList<>(); + return; } - packConverter.log(String.format("Convert arrow %s", to)); + context.log(String.format("Convert arrow %s", to)); BufferedImage fromImage = ImageIO.read(fromFile); @@ -93,9 +93,7 @@ public class ArrowConverter extends AbstractConverter { g.drawImage(fromImage, 0, 10 * factor, null); - ImageUtils.write(newArrowImage, "png", storage.resolve(to).toFile()); + ImageUtils.write(newArrowImage, "png", context.storage().resolve(to).toFile()); } catch (IOException e) { } - - return new ArrayList<>(); } } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/AtlasConverter.java b/legacy/AtlasConverter.java similarity index 85% rename from converter/src/main/java/org/geysermc/packconverter/converters/AtlasConverter.java rename to legacy/AtlasConverter.java index 99cbe31..b464b6f 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/AtlasConverter.java +++ b/legacy/AtlasConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class AtlasConverter extends AbstractConverter { @Getter @@ -48,24 +52,20 @@ public class AtlasConverter extends AbstractConverter { defaultData.add(new Object[] {"textures/items/compass_", 31, "textures/items/compass_atlas.png"}); } - public AtlasConverter(PackConverter packConverter, Path storage, Object[] data) { - super(packConverter, storage, data); - } - @Override - public List convert() { + public void convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String base = (String) this.data[0]; - int count = (int) this.data[1]; - String to = (String) this.data[2]; + String base = (String) context.data()[0]; + int count = (int) context.data()[1]; + String to = (String) context.data()[2]; BufferedImage atlasImage = null; for (int i = 0; i <= count; i++) { String step = base + String.format("%1$2s", i).replace(" ", "0") + ".png"; - File stepFile = storage.resolve(step).toFile(); + File stepFile = context.storage().resolve(step).toFile(); if (!stepFile.exists()) { continue; @@ -74,7 +74,7 @@ public class AtlasConverter extends AbstractConverter { BufferedImage stepImage = ImageIO.read(stepFile); if (atlasImage == null) { - packConverter.log(String.format("Create atlas %s", to)); + context.log(String.format("Create atlas %s", to)); atlasImage = new BufferedImage(stepImage.getWidth(), stepImage.getHeight() * (count + 1), BufferedImage.TYPE_INT_ARGB); } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternBlackConverter.java b/legacy/BannerPatternBlackConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternBlackConverter.java rename to legacy/BannerPatternBlackConverter.java index 823296d..7b891b6 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternBlackConverter.java +++ b/legacy/BannerPatternBlackConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class BannerPatternBlackConverter extends AbstractConverter { @Getter @@ -91,16 +95,16 @@ public class BannerPatternBlackConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File patternFile = storage.resolve(from).toFile(); if (!patternFile.exists()) { return new ArrayList<>(); } - packConverter.log(String.format("Fix banner pattern black %s", from)); + context.log(String.format("Fix banner pattern black %s", from)); BufferedImage patternImage = ImageIO.read(patternFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternConverter.java b/legacy/BannerPatternConverter.java similarity index 90% rename from converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternConverter.java rename to legacy/BannerPatternConverter.java index e121725..f1d32aa 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternConverter.java +++ b/legacy/BannerPatternConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class BannerPatternConverter extends AbstractConverter { @Getter @@ -64,11 +68,11 @@ public class BannerPatternConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String base = (String) this.data[0]; - Object[] patterns = (Object[]) this.data[1]; - String to = (String) this.data[2]; + String base = (String) context.data()[0]; + Object[] patterns = (Object[]) context.data()[1]; + String to = (String) context.data()[2]; BufferedImage bannerImage = null; @@ -85,7 +89,7 @@ public class BannerPatternConverter extends AbstractConverter { BufferedImage patternImage = ImageIO.read(patternFile); if (bannerImage == null) { - packConverter.log(String.format("Convert pattern banner %s", to)); + context.log(String.format("Convert pattern banner %s", to)); bannerImage = ImageIO.read(storage.resolve(base).toFile()); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternPreviewMaxSizeConverter.java b/legacy/BannerPatternPreviewMaxSizeConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternPreviewMaxSizeConverter.java rename to legacy/BannerPatternPreviewMaxSizeConverter.java index a025ec7..e37b021 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/BannerPatternPreviewMaxSizeConverter.java +++ b/legacy/BannerPatternPreviewMaxSizeConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class BannerPatternPreviewMaxSizeConverter extends AbstractConverter { @Getter @@ -91,17 +95,17 @@ public class BannerPatternPreviewMaxSizeConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - Integer max_width = (Integer) this.data[1]; + String from = (String) context.data()[0]; + Integer max_width = (Integer) context.data()[1]; File patternFile = storage.resolve(from).toFile(); if (!patternFile.exists()) { return new ArrayList<>(); } - packConverter.log(String.format("Fix banner pattern preview max size %s", from)); + context.log(String.format("Fix banner pattern preview max size %s", from)); BufferedImage patternImage = ImageIO.read(patternFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/BarConverter.java b/legacy/BarConverter.java similarity index 89% rename from converter/src/main/java/org/geysermc/packconverter/converters/BarConverter.java rename to legacy/BarConverter.java index d380714..38fb6c0 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/BarConverter.java +++ b/legacy/BarConverter.java @@ -29,9 +29,12 @@ package org.geysermc.packconverter.converters; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -42,6 +45,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class BarConverter extends AbstractConverter { @Getter @@ -84,12 +88,12 @@ public class BarConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - int factorDetect = (int) this.data[1]; - Object[] bars = (Object[]) this.data[2]; - String[] nubs = (String[]) this.data[3]; + String from = (String) context.data()[0]; + int factorDetect = (int) context.data()[1]; + Object[] bars = (Object[]) context.data()[2]; + String[] nubs = (String[]) context.data()[3]; File fromFile = storage.resolve(from).toFile(); if (!fromFile.exists()) { @@ -117,7 +121,7 @@ public class BarConverter extends AbstractConverter { String toPath = (String) toArr[0]; Color color = toArr.length > 1 && toArr[1] != null ? (Color) toArr[1] : Color.white; - packConverter.log(String.format("Convert bar %s", toPath)); + context.log(String.format("Convert bar %s", toPath)); ImageUtils.write(ImageUtils.colorize(toImage, color), "png", storage.resolve(toPath + ".png").toFile()); @@ -127,7 +131,7 @@ public class BarConverter extends AbstractConverter { BufferedImage transparentImage = new BufferedImage(factor, (5 * factor), BufferedImage.TYPE_INT_ARGB); for (String nub : nubs) { - packConverter.log(String.format("Convert bar %s", nub)); + context.log(String.format("Convert bar %s", nub)); ImageUtils.write(transparentImage, "png", storage.resolve(nub).toFile()); } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/BedConverter.java b/legacy/BedConverter.java similarity index 94% rename from converter/src/main/java/org/geysermc/packconverter/converters/BedConverter.java rename to legacy/BedConverter.java index 8e1f150..fdcaca6 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/BedConverter.java +++ b/legacy/BedConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class BedConverter extends AbstractConverter { @Getter @@ -68,9 +72,9 @@ public class BedConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String bed = (String) this.data[0]; + String bed = (String) context.data()[0]; File bedFile = storage.resolve(bed).toFile(); @@ -78,7 +82,7 @@ public class BedConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert bed %s", bed)); + context.log(String.format("Convert bed %s", bed)); BufferedImage bedImage = ImageIO.read(bedFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/BeeConverter.java b/legacy/BeeConverter.java similarity index 88% rename from converter/src/main/java/org/geysermc/packconverter/converters/BeeConverter.java rename to legacy/BeeConverter.java index e1b2850..143b8d4 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/BeeConverter.java +++ b/legacy/BeeConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class BeeConverter extends AbstractConverter { @Getter @@ -56,9 +60,9 @@ public class BeeConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -66,7 +70,7 @@ public class BeeConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert bee %s", from)); + context.log(String.format("Convert bee %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/ChestFrontConverter.java b/legacy/ChestFrontConverter.java similarity index 88% rename from converter/src/main/java/org/geysermc/packconverter/converters/ChestFrontConverter.java rename to legacy/ChestFrontConverter.java index def71cc..21f25c1 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/ChestFrontConverter.java +++ b/legacy/ChestFrontConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class ChestFrontConverter extends AbstractConverter { @Getter @@ -55,10 +59,10 @@ public class ChestFrontConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -66,7 +70,7 @@ public class ChestFrontConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Create chest front %s", to)); + context.log(String.format("Create chest front %s", to)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/ChestLeftRightDoubleConverter.java b/legacy/ChestLeftRightDoubleConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/ChestLeftRightDoubleConverter.java rename to legacy/ChestLeftRightDoubleConverter.java index d170c9a..ac79477 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/ChestLeftRightDoubleConverter.java +++ b/legacy/ChestLeftRightDoubleConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class ChestLeftRightDoubleConverter extends AbstractConverter { @Getter @@ -55,13 +59,13 @@ public class ChestLeftRightDoubleConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String fromLeft = (String) this.data[0]; - String fromRight = (String) this.data[1]; - String to = (String) this.data[2]; + String fromLeft = (String) context.data()[0]; + String fromRight = (String) context.data()[1]; + String to = (String) context.data()[2]; File leftFile = storage.resolve(fromLeft).toFile(); File rightFile = storage.resolve(fromRight).toFile(); @@ -70,7 +74,7 @@ public class ChestLeftRightDoubleConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Convert double chest %s", to)); + context.log(String.format("Convert double chest %s", to)); BufferedImage leftImage = ImageIO.read(leftFile); BufferedImage rightImage = ImageIO.read(rightFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/ChestNormalConverter.java b/legacy/ChestNormalConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/ChestNormalConverter.java rename to legacy/ChestNormalConverter.java index f4a15a0..d5a1078 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/ChestNormalConverter.java +++ b/legacy/ChestNormalConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class ChestNormalConverter extends AbstractConverter { @Getter @@ -56,9 +60,9 @@ public class ChestNormalConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String chest = (String) this.data[0]; + String chest = (String) context.data()[0]; File chestFile = storage.resolve(chest).toFile(); @@ -66,7 +70,7 @@ public class ChestNormalConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert normal chest %s", chest)); + context.log(String.format("Convert normal chest %s", chest)); BufferedImage chestImage = ImageIO.read(chestFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/ChestSideConverter.java b/legacy/ChestSideConverter.java similarity index 87% rename from converter/src/main/java/org/geysermc/packconverter/converters/ChestSideConverter.java rename to legacy/ChestSideConverter.java index 891b268..46b1628 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/ChestSideConverter.java +++ b/legacy/ChestSideConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class ChestSideConverter extends AbstractConverter { @Getter @@ -54,10 +58,10 @@ public class ChestSideConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -65,7 +69,7 @@ public class ChestSideConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Create chest side %s", to)); + context.log(String.format("Create chest side %s", to)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/ColorizeOverlayConverter.java b/legacy/ColorizeOverlayConverter.java similarity index 99% rename from converter/src/main/java/org/geysermc/packconverter/converters/ColorizeOverlayConverter.java rename to legacy/ColorizeOverlayConverter.java index 4045599..38ef531 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/ColorizeOverlayConverter.java +++ b/legacy/ColorizeOverlayConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class ColorizeOverlayConverter extends AbstractConverter { @Getter @@ -251,12 +255,12 @@ public class ColorizeOverlayConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - Object[] overlays = (Object[]) this.data[0]; - String to = (String) this.data[1]; + Object[] overlays = (Object[]) context.data()[0]; + String to = (String) context.data()[1]; BufferedImage finalImage = null; @@ -274,7 +278,7 @@ public class ColorizeOverlayConverter extends AbstractConverter { BufferedImage overlayImage = ImageIO.read(overlayFile); if (finalImage == null) { - packConverter.log(String.format("Colorize and overlay %s", to)); + context.log(String.format("Colorize and overlay %s", to)); finalImage = new BufferedImage(overlayImage.getWidth(), overlayImage.getHeight(), BufferedImage.TYPE_INT_ARGB); } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/CopyConverter.java b/legacy/CopyConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/CopyConverter.java rename to legacy/CopyConverter.java index 50be953..a9425c0 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/CopyConverter.java +++ b/legacy/CopyConverter.java @@ -26,8 +26,11 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; +import org.jetbrains.annotations.NotNull; import java.io.IOException; import java.nio.file.Files; @@ -35,6 +38,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class CopyConverter extends AbstractConverter { @Getter @@ -112,16 +116,16 @@ public class CopyConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; if (!storage.resolve(from).toFile().exists()) { return new ArrayList<>(); } - packConverter.log(String.format("Copy %s to %s", from, to)); + context.log(String.format("Copy %s to %s", from, to)); Files.copy(storage.resolve(from), storage.resolve(to)); } catch (IOException e) { } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DeleteConverter.java b/legacy/DeleteConverter.java similarity index 89% rename from converter/src/main/java/org/geysermc/packconverter/converters/DeleteConverter.java rename to legacy/DeleteConverter.java index 4772968..94576f2 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DeleteConverter.java +++ b/legacy/DeleteConverter.java @@ -26,8 +26,11 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.IOException; @@ -36,6 +39,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class DeleteConverter extends AbstractConverter { @Getter @@ -57,9 +61,9 @@ public class DeleteConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -67,7 +71,7 @@ public class DeleteConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Delete %s", from)); + context.log(String.format("Delete %s", from)); if (fromFile.isDirectory()) { deleteDirectory(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DespriteConverter.java b/legacy/DespriteConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/DespriteConverter.java rename to legacy/DespriteConverter.java index 9376bbf..cad92ad 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DespriteConverter.java +++ b/legacy/DespriteConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class DespriteConverter extends AbstractConverter { @Getter @@ -94,11 +98,11 @@ public class DespriteConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - int factorDetect = (int) this.data[1]; - Object[] sprites = (Object[]) this.data[2]; + String from = (String) context.data()[0]; + int factorDetect = (int) context.data()[1]; + Object[] sprites = (Object[]) context.data()[2]; File fromFile = storage.resolve(from).toFile(); if (!fromFile.exists()) { @@ -119,7 +123,7 @@ public class DespriteConverter extends AbstractConverter { String to = (String) spriteArr[4]; int[] emptyOverlay = spriteArr.length > 5 ? (int[]) spriteArr[5] : null; - packConverter.log(String.format("Desprite %s", to)); + context.log(String.format("Desprite %s", to)); BufferedImage spriteImage = ImageUtils.crop(fromImage, (x * factor), (y * factor), (width * factor), (height * factor)); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DespriteExperimentalConverter.java b/legacy/DespriteExperimentalConverter.java similarity index 94% rename from converter/src/main/java/org/geysermc/packconverter/converters/DespriteExperimentalConverter.java rename to legacy/DespriteExperimentalConverter.java index eb7fecc..c29adf6 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DespriteExperimentalConverter.java +++ b/legacy/DespriteExperimentalConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class DespriteExperimentalConverter extends AbstractConverter { @Getter @@ -171,11 +175,11 @@ public class DespriteExperimentalConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - int factorDetect = (int) this.data[1]; - Object[] sprites = (Object[]) this.data[2]; + String from = (String) context.data()[0]; + int factorDetect = (int) context.data()[1]; + Object[] sprites = (Object[]) context.data()[2]; File fromFile = storage.resolve(from).toFile(); if (!fromFile.exists()) { @@ -197,7 +201,7 @@ public class DespriteExperimentalConverter extends AbstractConverter { int[] emptyOverlayAlt = spriteArr.length > 5 ? (int[]) spriteArr[5] : null; int[] emptyOverlay = spriteArr.length > 6 ? (int[]) spriteArr[6] : null; - packConverter.log(String.format("Desprite %s (Experimental)", to)); + context.log(String.format("Desprite %s (Experimental)", to)); BufferedImage spriteImage = ImageUtils.crop(fromImage, (x * factor), (y * factor), (width * factor), (height * factor)); @@ -217,4 +221,9 @@ public class DespriteExperimentalConverter extends AbstractConverter { return new ArrayList<>(); } + + @Override + public boolean isExperimental() { + return true; + } } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DestroyStageConverter.java b/legacy/DestroyStageConverter.java similarity index 90% rename from converter/src/main/java/org/geysermc/packconverter/converters/DestroyStageConverter.java rename to legacy/DestroyStageConverter.java index df689ae..b9481ed 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DestroyStageConverter.java +++ b/legacy/DestroyStageConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class DestroyStageConverter extends AbstractConverter { @Getter @@ -62,9 +66,9 @@ public class DestroyStageConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -72,7 +76,7 @@ public class DestroyStageConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert destroy stage %s", from)); + context.log(String.format("Convert destroy stage %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DialogConverter.java b/legacy/DialogConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/DialogConverter.java rename to legacy/DialogConverter.java index fc666f2..5a6d841 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DialogConverter.java +++ b/legacy/DialogConverter.java @@ -30,11 +30,13 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; -import java.awt.*; +import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; @@ -42,6 +44,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +// @AutoService(Converter.class) public class DialogConverter extends AbstractConverter { @Getter @@ -77,11 +80,11 @@ public class DialogConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - int factorDetect = (int) this.data[1]; - Object[] dialogs = (Object[]) this.data[2]; + String from = (String) context.data()[0]; + int factorDetect = (int) context.data()[1]; + Object[] dialogs = (Object[]) context.data()[2]; File fromFile = storage.resolve(from).toFile(); if (!fromFile.exists()) { @@ -127,7 +130,7 @@ public class DialogConverter extends AbstractConverter { JsonNode metadata = mapper.readTree("{nineslice_size: " + mapper.writeValueAsString(toSizes) + ", base_size: [" + (toImage.getWidth() / factor) + ", " + (toImage.getHeight() / factor) + "]}"); - packConverter.log(String.format("Convert dialog %s (Experimental)", toPath)); + context.log(String.format("Convert dialog %s (Experimental)", toPath)); ImageUtils.write(toImage, "png", storage.resolve(toPath + ".png").toFile()); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DolphinConverter.java b/legacy/DolphinConverter.java similarity index 94% rename from converter/src/main/java/org/geysermc/packconverter/converters/DolphinConverter.java rename to legacy/DolphinConverter.java index 56010ea..9f0ea75 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DolphinConverter.java +++ b/legacy/DolphinConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class DolphinConverter extends AbstractConverter { @Getter @@ -53,11 +57,11 @@ public class DolphinConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -65,7 +69,7 @@ public class DolphinConverter extends AbstractConverter { return delete; } - packConverter.log("Convert dolphin"); + context.log("Convert dolphin"); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/DrownedConverter.java b/legacy/DrownedConverter.java similarity index 88% rename from converter/src/main/java/org/geysermc/packconverter/converters/DrownedConverter.java rename to legacy/DrownedConverter.java index db166ab..d1cb418 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/DrownedConverter.java +++ b/legacy/DrownedConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class DrownedConverter extends AbstractConverter { @Getter @@ -53,13 +57,13 @@ public class DrownedConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String overlay = (String) this.data[1]; - String to = (String) this.data[2]; + String from = (String) context.data()[0]; + String overlay = (String) context.data()[1]; + String to = (String) context.data()[2]; File fromFile = storage.resolve(from).toFile(); File overlayFile = storage.resolve(overlay).toFile(); @@ -68,7 +72,7 @@ public class DrownedConverter extends AbstractConverter { return delete; } - packConverter.log("Convert drowned"); + context.log("Convert drowned"); BufferedImage fromImage = ImageIO.read(fromFile); BufferedImage overlayImage = ImageIO.read(overlayFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/EnchantedItemGlintConverter.java b/legacy/EnchantedItemGlintConverter.java similarity index 86% rename from converter/src/main/java/org/geysermc/packconverter/converters/EnchantedItemGlintConverter.java rename to legacy/EnchantedItemGlintConverter.java index 948fc07..974e095 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/EnchantedItemGlintConverter.java +++ b/legacy/EnchantedItemGlintConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class EnchantedItemGlintConverter extends AbstractConverter { @Getter @@ -52,9 +56,9 @@ public class EnchantedItemGlintConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -62,7 +66,7 @@ public class EnchantedItemGlintConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert enchanted item glint %s", from)); + context.log(String.format("Convert enchanted item glint %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/FireworksConverter.java b/legacy/FireworksConverter.java similarity index 87% rename from converter/src/main/java/org/geysermc/packconverter/converters/FireworksConverter.java rename to legacy/FireworksConverter.java index 245fa96..49b3624 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/FireworksConverter.java +++ b/legacy/FireworksConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class FireworksConverter extends AbstractConverter { @Getter @@ -53,12 +57,12 @@ public class FireworksConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -66,7 +70,7 @@ public class FireworksConverter extends AbstractConverter { return delete; } - packConverter.log("Convert fireworks"); + context.log("Convert fireworks"); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/FishHookConverter.java b/legacy/FishHookConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/FishHookConverter.java rename to legacy/FishHookConverter.java index 9fe0286..d030f7e 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/FishHookConverter.java +++ b/legacy/FishHookConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class FishHookConverter extends AbstractConverter { @Getter @@ -53,12 +57,12 @@ public class FishHookConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -66,7 +70,7 @@ public class FishHookConverter extends AbstractConverter { return delete; } - packConverter.log("Convert fishhook"); + context.log("Convert fishhook"); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/FixWrongRootFolderConverter.java b/legacy/FixWrongRootFolderConverter.java similarity index 82% rename from converter/src/main/java/org/geysermc/packconverter/converters/FixWrongRootFolderConverter.java rename to legacy/FixWrongRootFolderConverter.java index 4caafef..5f7a5c1 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/FixWrongRootFolderConverter.java +++ b/legacy/FixWrongRootFolderConverter.java @@ -26,8 +26,11 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; +import org.jetbrains.annotations.NotNull; import java.io.IOException; import java.nio.file.Files; @@ -35,6 +38,7 @@ import java.nio.file.Path; import java.util.*; import java.util.stream.Collectors; +@AutoService(Converter.class) public class FixWrongRootFolderConverter extends AbstractConverter { @Getter @@ -49,16 +53,16 @@ public class FixWrongRootFolderConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String packMcmeta = (String) this.data[0]; - String[] moveFiles = (String[]) this.data[1]; + String packMcmeta = (String) context.data()[0]; + String[] moveFiles = (String[]) context.data()[1]; if (storage.resolve(packMcmeta).toFile().exists()) { return new ArrayList<>(); } - packConverter.log(String.format("%s not found in root folder (But are needed in the root folder, even in the Java version) - Try to lookup in sub folders ...", packMcmeta)); + context.log(String.format("%s not found in root folder (But are needed in the root folder, even in the Java version) - Try to lookup in sub folders ...", packMcmeta)); Path rootPath = null; for (Path filePath : Files.walk(storage).filter(Files::isRegularFile).collect(Collectors.toList())) { @@ -72,7 +76,7 @@ public class FixWrongRootFolderConverter extends AbstractConverter { throw new AssertionError(String.format("%s not found! Is this really a Java texture pack?", packMcmeta)); } - packConverter.log(String.format("Root folder found in sub folder %s", rootPath.relativize(storage).toString())); + context.log(String.format("Root folder found in sub folder %s", rootPath.relativize(storage).toString())); List moveFilesList = new ArrayList<>(); moveFilesList.add(packMcmeta); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/FoxConverter.java b/legacy/FoxConverter.java similarity index 90% rename from converter/src/main/java/org/geysermc/packconverter/converters/FoxConverter.java rename to legacy/FoxConverter.java index 951027f..c041d3d 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/FoxConverter.java +++ b/legacy/FoxConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class FoxConverter extends AbstractConverter { @Getter @@ -54,13 +58,13 @@ public class FoxConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String fromSleep = (String) this.data[1]; - String to = (String) this.data[2]; + String from = (String) context.data()[0]; + String fromSleep = (String) context.data()[1]; + String to = (String) context.data()[2]; File fromFile = storage.resolve(from).toFile(); File fromSleepFile = storage.resolve(fromSleep).toFile(); @@ -69,7 +73,7 @@ public class FoxConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Convert fox %s", to)); + context.log(String.format("Convert fox %s", to)); BufferedImage fromImage = ImageIO.read(fromFile); BufferedImage fromSleepImage = ImageIO.read(fromSleepFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/HorseConverter.java b/legacy/HorseConverter.java similarity index 98% rename from converter/src/main/java/org/geysermc/packconverter/converters/HorseConverter.java rename to legacy/HorseConverter.java index d029d4b..851ad0b 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/HorseConverter.java +++ b/legacy/HorseConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class HorseConverter extends AbstractConverter { @Getter @@ -71,12 +75,12 @@ public class HorseConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -84,7 +88,7 @@ public class HorseConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Convert horse %s", to)); + context.log(String.format("Convert horse %s", to)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/IconsConverter.java b/legacy/IconsConverter.java similarity index 87% rename from converter/src/main/java/org/geysermc/packconverter/converters/IconsConverter.java rename to legacy/IconsConverter.java index 31fe6ac..6fb6f8d 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/IconsConverter.java +++ b/legacy/IconsConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class IconsConverter extends AbstractConverter { @Getter @@ -53,9 +57,9 @@ public class IconsConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File iconsFile = storage.resolve(from).toFile(); @@ -63,7 +67,7 @@ public class IconsConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert icons %s", from)); + context.log(String.format("Convert icons %s", from)); BufferedImage iconsImage = ImageIO.read(iconsFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/MapIconsConverter.java b/legacy/MapIconsConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/MapIconsConverter.java rename to legacy/MapIconsConverter.java index 8a163dc..1b34e39 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/MapIconsConverter.java +++ b/legacy/MapIconsConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class MapIconsConverter extends AbstractConverter { @Getter @@ -53,10 +57,10 @@ public class MapIconsConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File iconsFile = storage.resolve(from).toFile(); @@ -64,7 +68,7 @@ public class MapIconsConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert map icons %s", to)); + context.log(String.format("Convert map icons %s", to)); BufferedImage iconsImage = ImageIO.read(iconsFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/MetadataConverter.java b/legacy/MetadataConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/MetadataConverter.java rename to legacy/MetadataConverter.java index cd7d138..f7bd9a5 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/MetadataConverter.java +++ b/legacy/MetadataConverter.java @@ -31,13 +31,16 @@ import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.google.auto.service.AutoService; import com.google.gson.JsonSyntaxException; import lombok.Getter; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ResourcePackManifest; +import org.jetbrains.annotations.NotNull; import java.io.FileNotFoundException; import java.io.IOException; @@ -47,6 +50,7 @@ import java.util.Collection; import java.util.List; import java.util.UUID; +@AutoService(Converter.class) public class MetadataConverter extends AbstractConverter { @Getter @@ -61,14 +65,14 @@ public class MetadataConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; - packConverter.log(String.format("Create metadata %s", to)); + context.log(String.format("Create metadata %s", to)); if (!storage.resolve(from).toFile().exists()) { throw new FileNotFoundException(String.format("Missing %s! Is this really a Java texture pack?", from)); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/NineSliceConverter.java b/legacy/NineSliceConverter.java similarity index 94% rename from converter/src/main/java/org/geysermc/packconverter/converters/NineSliceConverter.java rename to legacy/NineSliceConverter.java index 098cbbc..61b611e 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/NineSliceConverter.java +++ b/legacy/NineSliceConverter.java @@ -29,9 +29,12 @@ package org.geysermc.packconverter.converters; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -41,6 +44,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class NineSliceConverter extends AbstractConverter { @Getter @@ -240,12 +244,12 @@ public class NineSliceConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - int factorDetect = (int) this.data[1]; - Object[] buttons = (Object[]) this.data[2]; - String[] borders = (String[]) this.data[3]; + String from = (String) context.data()[0]; + int factorDetect = (int) context.data()[1]; + Object[] buttons = (Object[]) context.data()[2]; + String[] borders = (String[]) context.data()[3]; File fromFile = storage.resolve(from).toFile(); if (!fromFile.exists()) { @@ -275,7 +279,7 @@ public class NineSliceConverter extends AbstractConverter { JsonNode metadata = mapper.readTree("{nineslice_size: " + size + ", base_size: [" + width + ", " + height + "]}"); for (String toPath : tos) { - packConverter.log(String.format("Convert button %s (Experimental)", toPath)); + context.log(String.format("Convert button %s (Experimental)", toPath)); ImageUtils.write(toImage, "png", storage.resolve(toPath + ".png").toFile()); @@ -286,7 +290,7 @@ public class NineSliceConverter extends AbstractConverter { BufferedImage transparentImage = new BufferedImage(factor, factor, BufferedImage.TYPE_INT_ARGB); JsonNode metadata = mapper.readTree("{nineslice_size: 0, base_size: [1, 1]}"); for (String border : borders) { - packConverter.log(String.format("Convert button %s (Experimental)", border)); + context.log(String.format("Convert button %s (Experimental)", border)); ImageUtils.write(transparentImage, "png", storage.resolve(border + ".png").toFile()); @@ -297,4 +301,9 @@ public class NineSliceConverter extends AbstractConverter { return new ArrayList<>(); } + + @Override + public boolean isExperimental() { + return true; + } } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/OpaqueConverter.java b/legacy/OpaqueConverter.java similarity index 88% rename from converter/src/main/java/org/geysermc/packconverter/converters/OpaqueConverter.java rename to legacy/OpaqueConverter.java index 45a27ea..48ed0c1 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/OpaqueConverter.java +++ b/legacy/OpaqueConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class OpaqueConverter extends AbstractConverter { @Getter @@ -59,10 +63,10 @@ public class OpaqueConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -70,7 +74,7 @@ public class OpaqueConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Create opaque %s", to)); + context.log(String.format("Create opaque %s", to)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/OverlayToTranslateConverter.java b/legacy/OverlayToTranslateConverter.java similarity index 92% rename from converter/src/main/java/org/geysermc/packconverter/converters/OverlayToTranslateConverter.java rename to legacy/OverlayToTranslateConverter.java index 0ee871e..65704c8 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/OverlayToTranslateConverter.java +++ b/legacy/OverlayToTranslateConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class OverlayToTranslateConverter extends AbstractConverter { @Getter @@ -92,15 +96,15 @@ public class OverlayToTranslateConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String overlay = (String) this.data[1]; - String to = (String) this.data[2]; - boolean reverse = (boolean) this.data[3]; - boolean dontDelete = this.data.length > 4 && (boolean) this.data[4]; + String from = (String) context.data()[0]; + String overlay = (String) context.data()[1]; + String to = (String) context.data()[2]; + boolean reverse = (boolean) context.data()[3]; + boolean dontDelete = context.data().length > 4 && (boolean) context.data()[4]; File fromFile = storage.resolve(from).toFile(); File overlayFile = storage.resolve(overlay).toFile(); @@ -109,7 +113,7 @@ public class OverlayToTranslateConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Create translated overlay %s", to)); + context.log(String.format("Create translated overlay %s", to)); BufferedImage image = ImageIO.read(fromFile); BufferedImage imageOverlay = ImageIO.read(overlayFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/Particles1_13Converter.java b/legacy/Particles1_13Converter.java similarity index 85% rename from converter/src/main/java/org/geysermc/packconverter/converters/Particles1_13Converter.java rename to legacy/Particles1_13Converter.java index f7a575e..b8bf6d0 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/Particles1_13Converter.java +++ b/legacy/Particles1_13Converter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class Particles1_13Converter extends AbstractConverter { @Getter @@ -52,10 +56,10 @@ public class Particles1_13Converter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -63,7 +67,7 @@ public class Particles1_13Converter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert particles %s", from)); + context.log(String.format("Convert particles %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/PistonArmConverter.java b/legacy/PistonArmConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/PistonArmConverter.java rename to legacy/PistonArmConverter.java index 5d7f8f3..343cde1 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/PistonArmConverter.java +++ b/legacy/PistonArmConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class PistonArmConverter extends AbstractConverter { @Getter @@ -54,14 +58,14 @@ public class PistonArmConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String top1 = (String) this.data[0]; - String top2 = (String) this.data[1]; - String side = (String) this.data[2]; - String to = (String) this.data[3]; + String top1 = (String) context.data()[0]; + String top2 = (String) context.data()[1]; + String side = (String) context.data()[2]; + String to = (String) context.data()[3]; File top1File = storage.resolve(top1).toFile(); File top2File = storage.resolve(top2).toFile(); @@ -71,7 +75,7 @@ public class PistonArmConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Create piston arm %s", to)); + context.log(String.format("Create piston arm %s", to)); BufferedImage top1Image = ImageIO.read(top1File); BufferedImage top2Image = ImageIO.read(top2File); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/PlaceholderConverter.java b/legacy/PlaceholderConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/PlaceholderConverter.java rename to legacy/PlaceholderConverter.java index 3f2e346..32a953a 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/PlaceholderConverter.java +++ b/legacy/PlaceholderConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class PlaceholderConverter extends AbstractConverter { @Getter @@ -130,17 +134,17 @@ public class PlaceholderConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - int x = (int) this.data[1]; - int y = (int) this.data[2]; - int width = (int) this.data[3]; - int height = (int) this.data[4]; - int factorDetect = (int) this.data[5]; - String to = (String) this.data[6]; - int squareMode = this.data.length > 7 ? (int) this.data[7] : 0; - int minPackFormat = this.data.length > 8 ? (int) this.data[8] : -1; + String from = (String) context.data()[0]; + int x = (int) context.data()[1]; + int y = (int) context.data()[2]; + int width = (int) context.data()[3]; + int height = (int) context.data()[4]; + int factorDetect = (int) context.data()[5]; + String to = (String) context.data()[6]; + int squareMode = context.data().length > 7 ? (int) context.data()[7] : 0; + int minPackFormat = context.data().length > 8 ? (int) context.data()[8] : -1; if (minPackFormat > -1) { // TODO: Add support for min pack format @@ -152,7 +156,7 @@ public class PlaceholderConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Create placeholder %s", to)); + context.log(String.format("Create placeholder %s", to)); BufferedImage placeholderImage = ImageUtils.ensureMinWidth(ImageIO.read(placeholderFile), factorDetect); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/PngToTgaConverter.java b/legacy/PngToTgaConverter.java similarity index 97% rename from converter/src/main/java/org/geysermc/packconverter/converters/PngToTgaConverter.java rename to legacy/PngToTgaConverter.java index 06825c9..7376b16 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/PngToTgaConverter.java +++ b/legacy/PngToTgaConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class PngToTgaConverter extends AbstractConverter { @Getter @@ -200,13 +204,13 @@ public class PngToTgaConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; - boolean dont_delete = this.data.length > 2 ? (boolean) this.data[2] : false; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; + boolean dont_delete = context.data().length > 2 ? (boolean) context.data()[2] : false; File fromFile = storage.resolve(from).toFile(); @@ -214,7 +218,7 @@ public class PngToTgaConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Create tga %s", from)); + context.log(String.format("Create tga %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); ImageUtils.write(fromImage, "tga", storage.resolve(to).toFile()); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/RedstoneDustConverter.java b/legacy/RedstoneDustConverter.java similarity index 86% rename from converter/src/main/java/org/geysermc/packconverter/converters/RedstoneDustConverter.java rename to legacy/RedstoneDustConverter.java index ab6cfca..9958072 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/RedstoneDustConverter.java +++ b/legacy/RedstoneDustConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class RedstoneDustConverter extends AbstractConverter { @Getter @@ -52,15 +56,15 @@ public class RedstoneDustConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String dot = (String) this.data[0]; - String line0 = (String) this.data[1]; - String line1 = (String) this.data[2]; - String to_cross = (String) this.data[3]; - String to_line = (String) this.data[4]; + String dot = (String) context.data()[0]; + String line0 = (String) context.data()[1]; + String line1 = (String) context.data()[2]; + String to_cross = (String) context.data()[3]; + String to_line = (String) context.data()[4]; File dotFile = storage.resolve(dot).toFile(); File line0File = storage.resolve(line0).toFile(); @@ -70,7 +74,7 @@ public class RedstoneDustConverter extends AbstractConverter { return delete; } - packConverter.log("Convert redstone dust"); + context.log("Convert redstone dust"); BufferedImage newImage = ImageIO.read(line0File); newImage = ImageUtils.rotate(newImage, 90); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/RenameConverter.java b/legacy/RenameConverter.java similarity index 99% rename from converter/src/main/java/org/geysermc/packconverter/converters/RenameConverter.java rename to legacy/RenameConverter.java index 84c4e3f..59b6d69 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/RenameConverter.java +++ b/legacy/RenameConverter.java @@ -26,8 +26,11 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; +import org.jetbrains.annotations.NotNull; import java.io.IOException; import java.nio.file.Files; @@ -35,6 +38,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class RenameConverter extends AbstractConverter { @Getter @@ -1064,10 +1068,10 @@ public class RenameConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; Path fromPath = storage.resolve(from); @@ -1075,7 +1079,7 @@ public class RenameConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Rename %s to %s", from, to)); + context.log(String.format("Rename %s to %s", from, to)); Files.move(fromPath, storage.resolve(to)); } catch (IOException e) { } diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/SheepConverter.java b/legacy/SheepConverter.java similarity index 90% rename from converter/src/main/java/org/geysermc/packconverter/converters/SheepConverter.java rename to legacy/SheepConverter.java index b71b7da..3168be7 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/SheepConverter.java +++ b/legacy/SheepConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class SheepConverter extends AbstractConverter { @Getter @@ -53,12 +57,12 @@ public class SheepConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String sheep = (String) this.data[0]; - String sheepFur = (String) this.data[1]; + String sheep = (String) context.data()[0]; + String sheepFur = (String) context.data()[1]; File sheepFile = storage.resolve(sheep).toFile(); File sheepFurFile = storage.resolve(sheepFur).toFile(); @@ -67,7 +71,7 @@ public class SheepConverter extends AbstractConverter { return delete; } - packConverter.log("Convert sheep"); + context.log("Convert sheep"); BufferedImage sheepImage = ImageIO.read(sheepFile); BufferedImage sheepFurImage = ImageIO.read(sheepFurFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/SideRotateConverter.java b/legacy/SideRotateConverter.java similarity index 86% rename from converter/src/main/java/org/geysermc/packconverter/converters/SideRotateConverter.java rename to legacy/SideRotateConverter.java index 40f971b..2e397e6 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/SideRotateConverter.java +++ b/legacy/SideRotateConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class SideRotateConverter extends AbstractConverter { @Getter @@ -54,10 +58,10 @@ public class SideRotateConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -65,7 +69,7 @@ public class SideRotateConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Create side rotate %s", from)); + context.log(String.format("Create side rotate %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/SpriteConverter.java b/legacy/SpriteConverter.java similarity index 96% rename from converter/src/main/java/org/geysermc/packconverter/converters/SpriteConverter.java rename to legacy/SpriteConverter.java index c7a8406..7d424cb 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/SpriteConverter.java +++ b/legacy/SpriteConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class SpriteConverter extends AbstractConverter { @Getter @@ -274,15 +278,15 @@ public class SpriteConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - int width = (int) this.data[0]; - int height = (int) this.data[1]; - Object[] sprites = (Object[]) this.data[2]; - String to = (String) this.data[3]; - int additional_factor = this.data.length > 4 ? (int) this.data[4] : 1; + int width = (int) context.data()[0]; + int height = (int) context.data()[1]; + Object[] sprites = (Object[]) context.data()[2]; + String to = (String) context.data()[3]; + int additional_factor = context.data().length > 4 ? (int) context.data()[4] : 1; File toFile = storage.resolve(to).toFile(); @@ -291,7 +295,7 @@ public class SpriteConverter extends AbstractConverter { List missingSprites = new ArrayList<>(); if (toFile.exists()) { - packConverter.log(String.format("Convert sprite %s", to)); + context.log(String.format("Convert sprite %s", to)); newImage = ImageIO.read(toFile); // Load already exists sprites image - Some texture packs have may a mix with sprites (1.13) and separate images (1.14) @@ -319,7 +323,7 @@ public class SpriteConverter extends AbstractConverter { } if (newImage == null) { - packConverter.log(String.format("Create sprite %s", to)); + context.log(String.format("Create sprite %s", to)); newImage = new BufferedImage((width * factor), (height * factor), BufferedImage.TYPE_INT_ARGB); } @@ -338,7 +342,7 @@ public class SpriteConverter extends AbstractConverter { if (newImage != null) { for (String sprite : missingSprites) { - packConverter.log(String.format("Missing texture %s - May used a transparent image", sprite)); + context.log(String.format("Missing texture %s - May used a transparent image", sprite)); } ImageUtils.write(newImage, "png", storage.resolve(to).toFile()); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/TitleConverter.java b/legacy/TitleConverter.java similarity index 87% rename from converter/src/main/java/org/geysermc/packconverter/converters/TitleConverter.java rename to legacy/TitleConverter.java index ffa388b..a3fe0c6 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/TitleConverter.java +++ b/legacy/TitleConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class TitleConverter extends AbstractConverter { @Getter @@ -53,10 +57,10 @@ public class TitleConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; File fromFile = storage.resolve(from).toFile(); @@ -64,7 +68,7 @@ public class TitleConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert title %s", from)); + context.log(String.format("Convert title %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/TurtleConverter.java b/legacy/TurtleConverter.java similarity index 87% rename from converter/src/main/java/org/geysermc/packconverter/converters/TurtleConverter.java rename to legacy/TurtleConverter.java index a38fc4d..8670b79 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/TurtleConverter.java +++ b/legacy/TurtleConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class TurtleConverter extends AbstractConverter { @Getter @@ -53,9 +57,9 @@ public class TurtleConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -63,7 +67,7 @@ public class TurtleConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert turtle %s", from)); + context.log(String.format("Convert turtle %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/VillagerConverter.java b/legacy/VillagerConverter.java similarity index 93% rename from converter/src/main/java/org/geysermc/packconverter/converters/VillagerConverter.java rename to legacy/VillagerConverter.java index e65a209..390e7aa 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/VillagerConverter.java +++ b/legacy/VillagerConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class VillagerConverter extends AbstractConverter { @Getter @@ -81,9 +85,9 @@ public class VillagerConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { try { - String from = (String) this.data[0]; + String from = (String) context.data()[0]; File fromFile = storage.resolve(from).toFile(); @@ -91,7 +95,7 @@ public class VillagerConverter extends AbstractConverter { return new ArrayList<>(); } - packConverter.log(String.format("Convert villager %s", from)); + context.log(String.format("Convert villager %s", from)); BufferedImage fromImage = ImageIO.read(fromFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/WaterConverter.java b/legacy/WaterConverter.java similarity index 83% rename from converter/src/main/java/org/geysermc/packconverter/converters/WaterConverter.java rename to legacy/WaterConverter.java index c0f08c0..0ab6d0a 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/WaterConverter.java +++ b/legacy/WaterConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -38,6 +41,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class WaterConverter extends AbstractConverter { @Getter @@ -55,14 +59,14 @@ public class WaterConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; - int minWidth = (int) this.data[2]; - boolean grayscale = this.data.length > 3 ? (boolean) this.data[3] : false; + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; + int minWidth = (int) context.data()[2]; + boolean grayscale = context.data().length > 3 ? (boolean) context.data()[3] : false; File waterFile = storage.resolve(from).toFile(); @@ -70,7 +74,7 @@ public class WaterConverter extends AbstractConverter { return delete; } - packConverter.log(String.format("Convert water %s", from)); + context.log(String.format("Convert water %s", from)); BufferedImage waterImage = ImageIO.read(waterFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/WeatherConverter.java b/legacy/WeatherConverter.java similarity index 88% rename from converter/src/main/java/org/geysermc/packconverter/converters/WeatherConverter.java rename to legacy/WeatherConverter.java index 8379535..f95c364 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/WeatherConverter.java +++ b/legacy/WeatherConverter.java @@ -26,9 +26,12 @@ package org.geysermc.packconverter.converters; +import com.google.auto.service.AutoService; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; import org.geysermc.packconverter.utils.ImageUtils; +import org.jetbrains.annotations.NotNull; import javax.imageio.ImageIO; import java.awt.*; @@ -39,6 +42,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +@AutoService(Converter.class) public class WeatherConverter extends AbstractConverter { @Getter @@ -54,13 +58,13 @@ public class WeatherConverter extends AbstractConverter { } @Override - public List convert() { + public List convert(@NotNull PackConversionContext context) { List delete = new ArrayList<>(); try { - String snow = (String) this.data[0]; - String rain = (String) this.data[1]; - String to = (String) this.data[2]; + String snow = (String) context.data()[0]; + String rain = (String) context.data()[1]; + String to = (String) context.data()[2]; File snowFile = storage.resolve(snow).toFile(); File rainFile = storage.resolve(rain).toFile(); @@ -69,7 +73,7 @@ public class WeatherConverter extends AbstractConverter { return delete; } - packConverter.log("Convert weather"); + context.log("Convert weather"); BufferedImage snowImage = ImageIO.read(snowFile); BufferedImage rainImage = ImageIO.read(rainFile); diff --git a/converter/src/main/java/org/geysermc/packconverter/converters/CustomModelDataConverter.java b/legacy/custom/CustomModelDataConverter.java similarity index 83% rename from converter/src/main/java/org/geysermc/packconverter/converters/CustomModelDataConverter.java rename to legacy/custom/CustomModelDataConverter.java index 9d8ea89..0109ac5 100644 --- a/converter/src/main/java/org/geysermc/packconverter/converters/CustomModelDataConverter.java +++ b/legacy/custom/CustomModelDataConverter.java @@ -24,7 +24,7 @@ * */ -package org.geysermc.packconverter.converters; +package org.geysermc.packconverter.converters.custom; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.JsonNode; @@ -33,16 +33,22 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import lombok.Getter; +import org.geysermc.packconverter.PackConversionContext; import org.geysermc.packconverter.PackConverter; +import org.geysermc.packconverter.converters.AbstractConverter; import org.geysermc.packconverter.utils.CustomModelDataHandler; +import org.jetbrains.annotations.NotNull; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.OutputStream; import java.nio.file.Files; -import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.util.ArrayList; import java.util.List; +// @AutoService(Converter.class) public class CustomModelDataConverter extends AbstractConverter { @Getter @@ -52,16 +58,14 @@ public class CustomModelDataConverter extends AbstractConverter { defaultData.add(new String[] {"assets/minecraft/models/item", "textures/item_texture.json"}); } - public CustomModelDataConverter(PackConverter packConverter, Path storage, Object[] data) { - super(packConverter, storage, data); - } - @Override - public List convert() { - packConverter.log("Checking for custom model data"); + public void convert(@NotNull PackConversionContext context) { + context.log("Checking for custom model data"); try { - String from = (String) this.data[0]; - String to = (String) this.data[1]; + PackConverter packConverter = context.packConverter(); + + String from = (String) context.data()[0]; + String to = (String) context.data()[1]; ObjectMapper mapper = new ObjectMapper(); @@ -70,7 +74,7 @@ public class CustomModelDataConverter extends AbstractConverter { textureData.put("resource_pack_name", "geysercmd"); textureData.put("texture_name", "atlas.items"); ObjectNode allTextures = mapper.createObjectNode(); - for (File file : storage.resolve(from).toFile().listFiles()) { + for (File file : context.storage().resolve(from).toFile().listFiles()) { InputStream stream = new FileInputStream(file); JsonNode node = mapper.readTree(stream); @@ -83,7 +87,7 @@ public class CustomModelDataConverter extends AbstractConverter { // You need to run in Java `/give @s stick{CustomModelData:1}` int id = predicate.get("custom_model_data").asInt(); // Get the identifier that we'll register the item with on Bedrock, and create the JSON file - String identifier = CustomModelDataHandler.handleItemData(mapper, storage, override.get("model").asText()); + String identifier = CustomModelDataHandler.handleItemData(mapper, context.storage(), override.get("model").asText()); // See if we have registered the vanilla item already Int2ObjectMap data = packConverter.getCustomModelData().getOrDefault(file.getName().replace(".json", ""), null); if (data == null) { @@ -98,7 +102,7 @@ public class CustomModelDataConverter extends AbstractConverter { } // Create the texture information - ObjectNode textureInfo = CustomModelDataHandler.handleItemTexture(mapper, storage, override.get("model").asText()); + ObjectNode textureInfo = CustomModelDataHandler.handleItemTexture(mapper, context.storage(), override.get("model").asText()); if (textureInfo != null) { // If texture was created, add it to the file where Bedrock will read all textures allTextures.setAll(textureInfo); @@ -112,14 +116,12 @@ public class CustomModelDataConverter extends AbstractConverter { if (!packConverter.getCustomModelData().isEmpty()) { // We have custom model data, so let's write the textures - OutputStream outputStream = Files.newOutputStream(storage.resolve(to), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE); + OutputStream outputStream = Files.newOutputStream(context.storage().resolve(to), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE); mapper.writer(new DefaultPrettyPrinter()).writeValue(outputStream, textureData); } - packConverter.log(String.format("Converted models %s", from)); + context.log(String.format("Converted models %s", from)); } catch (Exception e) { e.printStackTrace(); } - - return new ArrayList<>(); } } diff --git a/pack-schema/api/build.gradle.kts b/pack-schema/api/build.gradle.kts new file mode 100644 index 0000000..cfab846 --- /dev/null +++ b/pack-schema/api/build.gradle.kts @@ -0,0 +1,5 @@ +dependencies { + api(project(":bedrock-pack-schema")) + implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2") + implementation("org.jetbrains:annotations:24.0.1") +} \ No newline at end of file diff --git a/pack-schema/api/src/main/java/org/geysermc/pack/bedrock/resource/BedrockResourcePack.java b/pack-schema/api/src/main/java/org/geysermc/pack/bedrock/resource/BedrockResourcePack.java new file mode 100644 index 0000000..5fbf732 --- /dev/null +++ b/pack-schema/api/src/main/java/org/geysermc/pack/bedrock/resource/BedrockResourcePack.java @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.bedrock.resource; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import org.geysermc.pack.bedrock.resource.attachables.Attachables; +import org.geysermc.pack.bedrock.resource.textures.ItemTexture; +import org.geysermc.pack.bedrock.resource.textures.TerrainTexture; +import org.geysermc.pack.bedrock.resource.textures.itemtexture.TextureData; +import org.geysermc.pack.bedrock.resource.textures.terraintexture.texturedata.Textures; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; + +import static org.geysermc.pack.bedrock.resource.util.FileUtil.exportJson; + +/** + * Represents a Bedrock resource pack. + */ +public class BedrockResourcePack { + private static final ObjectMapper MAPPER = new ObjectMapper() + .enable(SerializationFeature.INDENT_OUTPUT) + .setSerializationInclusion(JsonInclude.Include.NON_NULL) + .setSerializationInclusion(JsonInclude.Include.NON_EMPTY); + + private final Path directory; + private Manifest manifest; + + private ItemTexture itemTexture; + private TerrainTexture terrainTexture; + private Map attachables; + + public BedrockResourcePack(@NotNull Path directory) { + this(directory, null, null, null); + } + + public BedrockResourcePack(@NotNull Path directory, @Nullable Manifest manifest, @Nullable ItemTexture itemTexture, @Nullable TerrainTexture terrainTexture) { + this.directory = directory; + this.manifest = manifest; + this.itemTexture = itemTexture; + this.terrainTexture = terrainTexture; + } + + /** + * Get the manifest of the resource pack. + * + * @return the manifest of the resource pack + */ + @NotNull + public Manifest manifest() { + return this.manifest; + } + + /** + * Set the manifest of the resource pack. + * + * @param manifest the manifest of the resource pack + */ + public void manifest(@NotNull Manifest manifest) { + this.manifest = manifest; + } + + /** + * Get the item texture of the resource pack. + * + * @return the item texture of the resource pack + */ + @Nullable + public ItemTexture itemTexture() { + return this.itemTexture; + } + + /** + * Set the item texture of the resource pack. + * + * @param itemTexture the item texture of the resource pack + */ + public void itemTexture(@Nullable ItemTexture itemTexture) { + this.itemTexture = itemTexture; + } + + /** + * Get the terrain texture of the resource pack. + * + * @return the terrain texture of the resource pack + */ + @Nullable + public TerrainTexture terrainTexture() { + return this.terrainTexture; + } + + /** + * Set the terrain texture of the resource pack. + * + * @param terrainTexture the terrain texture of the resource pack + */ + public void terrainTexture(@Nullable TerrainTexture terrainTexture) { + this.terrainTexture = terrainTexture; + } + + /** + * Get the attachables of the resource pack. + * + * @return the attachables of the resource pack + */ + @Nullable + public Map attachables() { + return this.attachables; + } + + /** + * Set the attachables of the resource pack. + * + * @param attachables the attachables of the resource pack + */ + public void attachables(@Nullable Map attachables) { + this.attachables = attachables; + } + + /** + * Add an item to the resource pack. + * + * @param id the id of the item + * @param textureLocation the location of the texture + */ + public void addItemTexture(@NotNull String id, @NotNull String textureLocation) { + if (this.itemTexture == null) { + this.itemTexture = new ItemTexture(); + this.itemTexture.resourcePackName(this.manifest.header().name()); + this.itemTexture.textureName("atlas.items"); + } + + TextureData data = new TextureData(); + data.textures(textureLocation); + + this.itemTexture.textureData().put(id, data); + } + + /** + * Add a block texture to the resource pack. + * + * @param id the id of the block texture + * @param textureLocation the location of the texture + */ + public void addBlockTexture(@NotNull String id, @NotNull String textureLocation) { + if (this.terrainTexture == null) { + this.terrainTexture = new TerrainTexture(); + this.terrainTexture.resourcePackName(this.manifest.header().name()); + this.terrainTexture.textureName("atlas.terrain"); + this.terrainTexture.padding(8); + this.terrainTexture.numMipLevels(4); + } + + org.geysermc.pack.bedrock.resource.textures.terraintexture.TextureData data = new org.geysermc.pack.bedrock.resource.textures.terraintexture.TextureData(); + Textures textures = new Textures(); + textures.path(textureLocation); + data.textures(textures); + + this.terrainTexture.textureData().put(id, data); + } + + /** + * Add an attachable to the resource pack. + * + * @param armorAttachable the data of the attachable + * @param location the location of the final json + */ + public void addAttachable(@NotNull Attachables armorAttachable, @NotNull String location) { + if (this.attachables == null) { + this.attachables = new HashMap<>(); + } + + this.attachables.put(location, armorAttachable); + } + + + /** + * Exports the resource pack to the specified directory. + * + * @throws IOException if an error occurs while exporting the resource pack + */ + public void export() throws IOException { + if (this.manifest == null) { + throw new NullPointerException("Pack manifest cannot be null"); + } + + exportJson(MAPPER, this.directory.resolve("manifest.json"), this.manifest); + + if (this.itemTexture != null) { + exportJson(MAPPER, this.directory.resolve("textures/item_texture.json"), this.itemTexture); + } + + if (this.terrainTexture != null) { + exportJson(MAPPER, this.directory.resolve("textures/terrain_texture.json"), this.terrainTexture); + } + } +} diff --git a/pack-schema/api/src/main/java/org/geysermc/pack/bedrock/resource/util/FileUtil.java b/pack-schema/api/src/main/java/org/geysermc/pack/bedrock/resource/util/FileUtil.java new file mode 100644 index 0000000..35b018b --- /dev/null +++ b/pack-schema/api/src/main/java/org/geysermc/pack/bedrock/resource/util/FileUtil.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.bedrock.resource.util; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.jetbrains.annotations.NotNull; + +import java.io.BufferedWriter; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +/** + * Utility class for files. + */ +public class FileUtil { + + /** + * Exports the specified object to the given location as JSON. + * + * @param mapper the object mapper to use + * @param location the location to export the object to + * @param object the object to export + * @throws IOException if an I/O error occurs + */ + public static void exportJson(@NotNull ObjectMapper mapper, @NotNull Path location, @NotNull Object object) throws IOException { + if (Files.notExists(location.getParent())) { + Files.createDirectories(location.getParent()); + } + + if (Files.notExists(location)) { + Files.createFile(location); + } + + try (BufferedWriter writer = Files.newBufferedWriter(location)) { + mapper.writeValue(writer, object); + } + } +} diff --git a/pack-schema/bedrock/README.md b/pack-schema/bedrock/README.md new file mode 100644 index 0000000..748d7b4 --- /dev/null +++ b/pack-schema/bedrock/README.md @@ -0,0 +1,4 @@ +# Bedrock Pack Schema +The Java classes in this module are auto-generated from the `generator` module. **No changes should be made in this module as they will be overridden.** + +The JSON schema used to construct these Java objects can be found at [Blockception/Minecraft-bedrock-json-schemas](https://github.com/Blockception/Minecraft-bedrock-json-schemas) \ No newline at end of file diff --git a/pack-schema/bedrock/build.gradle.kts b/pack-schema/bedrock/build.gradle.kts new file mode 100644 index 0000000..507e170 --- /dev/null +++ b/pack-schema/bedrock/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2") +} \ No newline at end of file diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/BiomesClient.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/BiomesClient.java new file mode 100644 index 0000000..9cf57f3 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/BiomesClient.java @@ -0,0 +1,30 @@ +package org.geysermc.pack.bedrock.resource; + +import org.geysermc.pack.bedrock.resource.biomesclient.Biomes; + +/** + * Biomes Client + *

+ * The minecraft biomes definition file. + */ +public class BiomesClient { + public Biomes biomes; + + /** + * A collection of predefined biomes. + * + * @return Biomes + */ + public Biomes biomes() { + return this.biomes; + } + + /** + * A collection of predefined biomes. + * + * @param biomes Biomes + */ + public void biomes(Biomes biomes) { + this.biomes = biomes; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Blocks.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Blocks.java new file mode 100644 index 0000000..db35a1c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Blocks.java @@ -0,0 +1,107 @@ +package org.geysermc.pack.bedrock.resource; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.blocks.CarriedTextures; +import org.geysermc.pack.bedrock.resource.blocks.Isotropic; +import org.geysermc.pack.bedrock.resource.blocks.Textures; + +/** + * Blocks + *

+ * The minecraft block definition file. + */ +public class Blocks { + @JsonProperty("format_version") + public int[] formatVersion; + + @JsonProperty("brightness_gamma") + public float brightnessGamma; + + @JsonProperty("carried_textures") + public CarriedTextures carriedTextures; + + public Isotropic isotropic; + + public String sound; + + public Textures textures; + + /** + * A version that tells Minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public int[] formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells Minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(int[] formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * Specifies the gamma brightness level to apply to the block texture. + * + * @return Brightness Gamma + */ + public float brightnessGamma() { + return this.brightnessGamma; + } + + /** + * Specifies the gamma brightness level to apply to the block texture. + * + * @param brightnessGamma Brightness Gamma + */ + public void brightnessGamma(float brightnessGamma) { + this.brightnessGamma = brightnessGamma; + } + + public CarriedTextures carriedTextures() { + return this.carriedTextures; + } + + public void carriedTextures(CarriedTextures carriedTextures) { + this.carriedTextures = carriedTextures; + } + + public Isotropic isotropic() { + return this.isotropic; + } + + public void isotropic(Isotropic isotropic) { + this.isotropic = isotropic; + } + + /** + * The sound definition of this block. + * + * @return Sound + */ + public String sound() { + return this.sound; + } + + /** + * The sound definition of this block. + * + * @param sound Sound + */ + public void sound(String sound) { + this.sound = sound; + } + + public Textures textures() { + return this.textures; + } + + public void textures(Textures textures) { + this.textures = textures; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Manifest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Manifest.java new file mode 100644 index 0000000..9b0aac4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Manifest.java @@ -0,0 +1,159 @@ +package org.geysermc.pack.bedrock.resource; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.ArrayList; +import java.util.List; +import org.geysermc.pack.bedrock.resource.manifest.Capabilities; +import org.geysermc.pack.bedrock.resource.manifest.Dependencies; +import org.geysermc.pack.bedrock.resource.manifest.Header; +import org.geysermc.pack.bedrock.resource.manifest.Metadata; +import org.geysermc.pack.bedrock.resource.manifest.Modules; +import org.geysermc.pack.bedrock.resource.manifest.Subpacks; + +/** + * Manifest V2 Schema + *

+ * The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean. + */ +public class Manifest { + @JsonProperty("format_version") + public float formatVersion; + + public Capabilities capabilities; + + public List dependencies = new ArrayList<>(); + + public Header header; + + public List modules = new ArrayList<>(); + + public Metadata metadata; + + public List subpacks = new ArrayList<>(); + + /** + * This defines the current version of the manifest. Don't change this unless you have a good reason to + * + * @return Format Version + */ + public float formatVersion() { + return this.formatVersion; + } + + /** + * This defines the current version of the manifest. Don't change this unless you have a good reason to + * + * @param formatVersion Format Version + */ + public void formatVersion(float formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * These are the different features that the pack makes use of that aren't necessarily enabled by default. + * + * @return Capabilities + */ + public Capabilities capabilities() { + return this.capabilities; + } + + /** + * These are the different features that the pack makes use of that aren't necessarily enabled by default. + * + * @param capabilities Capabilities + */ + public void capabilities(Capabilities capabilities) { + this.capabilities = capabilities; + } + + /** + * Section containing definitions for any other packs or modules that are required in order for this manifest.json file to work. + * + * @return Dependencies + */ + public List dependencies() { + return this.dependencies; + } + + /** + * Section containing definitions for any other packs or modules that are required in order for this manifest.json file to work. + * + * @param dependencies Dependencies + */ + public void dependencies(List dependencies) { + this.dependencies = dependencies; + } + + /** + * Section containing information regarding the name of the pack, description, and other features that are public facing. + * + * @return Header + */ + public Header header() { + return this.header; + } + + /** + * Section containing information regarding the name of the pack, description, and other features that are public facing. + * + * @param header Header + */ + public void header(Header header) { + this.header = header; + } + + /** + * Section containing information regarding the type of content that is being brought in. + * + * @return Modules + */ + public List modules() { + return this.modules; + } + + /** + * Section containing information regarding the type of content that is being brought in. + * + * @param modules Modules + */ + public void modules(List modules) { + this.modules = modules; + } + + /** + * Section containing the metadata about the file such as authors and licensing information. + * + * @return Metadata + */ + public Metadata metadata() { + return this.metadata; + } + + /** + * Section containing the metadata about the file such as authors and licensing information. + * + * @param metadata Metadata + */ + public void metadata(Metadata metadata) { + this.metadata = metadata; + } + + /** + * A list of subpacks that are applied per memory tier. + * + * @return Subpacks + */ + public List subpacks() { + return this.subpacks; + } + + /** + * A list of subpacks that are applied per memory tier. + * + * @param subpacks Subpacks + */ + public void subpacks(List subpacks) { + this.subpacks = subpacks; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Sounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Sounds.java new file mode 100644 index 0000000..9971e98 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/Sounds.java @@ -0,0 +1,101 @@ +package org.geysermc.pack.bedrock.resource; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.sounds.BlockSounds; +import org.geysermc.pack.bedrock.resource.sounds.EntitySounds; +import org.geysermc.pack.bedrock.resource.sounds.IndividualEventSounds; +import org.geysermc.pack.bedrock.resource.sounds.InteractiveSounds; + +/** + * Sounds.json + *

+ * Sound definitions. + */ +public class Sounds { + @JsonProperty("block_sounds") + private Map blockSounds = new HashMap<>(); + + @JsonProperty("entity_sounds") + public EntitySounds entitySounds; + + @JsonProperty("individual_event_sounds") + public IndividualEventSounds individualEventSounds; + + @JsonProperty("interactive_sounds") + public InteractiveSounds interactiveSounds; + + /** + * Block sound definitions. + * + * @return Block Sounds + */ + public Map blockSounds() { + return this.blockSounds; + } + + /** + * Block sound definitions. + * + * @param blockSounds Block Sounds + */ + public void blockSounds(Map blockSounds) { + this.blockSounds = blockSounds; + } + + /** + * Entity sounds definitions. + * + * @return Entity Sounds + */ + public EntitySounds entitySounds() { + return this.entitySounds; + } + + /** + * Entity sounds definitions. + * + * @param entitySounds Entity Sounds + */ + public void entitySounds(EntitySounds entitySounds) { + this.entitySounds = entitySounds; + } + + /** + * Individual event sounds definitions. + * + * @return Individual Event Sounds + */ + public IndividualEventSounds individualEventSounds() { + return this.individualEventSounds; + } + + /** + * Individual event sounds definitions. + * + * @param individualEventSounds Individual Event Sounds + */ + public void individualEventSounds(IndividualEventSounds individualEventSounds) { + this.individualEventSounds = individualEventSounds; + } + + /** + * Interactive sounds definitions. + * + * @return Interactive Sounds + */ + public InteractiveSounds interactiveSounds() { + return this.interactiveSounds; + } + + /** + * Interactive sounds definitions. + * + * @param interactiveSounds Interactive Sounds + */ + public void interactiveSounds(InteractiveSounds interactiveSounds) { + this.interactiveSounds = interactiveSounds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/WorldXPacks.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/WorldXPacks.java new file mode 100644 index 0000000..ad6fa47 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/WorldXPacks.java @@ -0,0 +1,7 @@ +package org.geysermc.pack.bedrock.resource; + +/** + * World X Pack Schema + */ +public class WorldXPacks { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/AnimationController.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/AnimationController.java new file mode 100644 index 0000000..6d437ce --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/AnimationController.java @@ -0,0 +1,54 @@ +package org.geysermc.pack.bedrock.resource.animation_controllers; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.AnimationControllers; + +/** + * Animation Controller + */ +public class AnimationController { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("animation_controllers") + private Map animationControllers = new HashMap<>(); + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The animation controllers schema for. + * + * @return Animation Controllers Schema + */ + public Map animationControllers() { + return this.animationControllers; + } + + /** + * The animation controllers schema for. + * + * @param animationControllers Animation Controllers Schema + */ + public void animationControllers(Map animationControllers) { + this.animationControllers = animationControllers; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/AnimationControllers.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/AnimationControllers.java new file mode 100644 index 0000000..ad6a913 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/AnimationControllers.java @@ -0,0 +1,55 @@ +package org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.animationcontrollers.States; + +/** + * Animation Controllers Schema + *

+ * The animation controllers schema for. + */ +public class AnimationControllers { + private Map states = new HashMap<>(); + + @JsonProperty("initial_state") + public String initialState; + + /** + * The states of this animation controller. + * + * @return States + */ + public Map states() { + return this.states; + } + + /** + * The states of this animation controller. + * + * @param states States + */ + public void states(Map states) { + this.states = states; + } + + /** + * The state to start with, if not specified state at position 0 in the array is used. + * + * @return Initial State + */ + public String initialState() { + return this.initialState; + } + + /** + * The state to start with, if not specified state at position 0 in the array is used. + * + * @param initialState Initial State + */ + public void initialState(String initialState) { + this.initialState = initialState; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/States.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/States.java new file mode 100644 index 0000000..d5b9ec5 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/States.java @@ -0,0 +1,124 @@ +package org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.animationcontrollers; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.animationcontrollers.states.SoundEffects; +import org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.animationcontrollers.states.Variables; + +/** + * States + *

+ * The states of this animation controller. + */ +public class States { + @JsonProperty("blend_transition") + public float blendTransition; + + @JsonProperty("blend_via_shortest_path") + public boolean blendViaShortestPath; + + @JsonProperty("sound_effects") + public List soundEffects = new ArrayList<>(); + + private Map variables = new HashMap<>(); + + @JsonProperty("on_entry") + public String[] onEntry; + + @JsonProperty("on_exit") + public String[] onExit; + + /** + * A short-hand version of blend_out that simply sets the amount of time to fade out if the animation is interrupted. + */ + public float blendTransition() { + return this.blendTransition; + } + + /** + * A short-hand version of blend_out that simply sets the amount of time to fade out if the animation is interrupted. + */ + public void blendTransition(float blendTransition) { + this.blendTransition = blendTransition; + } + + /** + * When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value. + * + * @return Blend Via Shortest Path + */ + public boolean blendViaShortestPath() { + return this.blendViaShortestPath; + } + + /** + * When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value. + * + * @param blendViaShortestPath Blend Via Shortest Path + */ + public void blendViaShortestPath(boolean blendViaShortestPath) { + this.blendViaShortestPath = blendViaShortestPath; + } + + /** + * Collection of sounds to trigger on entry to this animation state. + */ + public List soundEffects() { + return this.soundEffects; + } + + /** + * Collection of sounds to trigger on entry to this animation state. + */ + public void soundEffects(List soundEffects) { + this.soundEffects = soundEffects; + } + + public Map variables() { + return this.variables; + } + + public void variables(Map variables) { + this.variables = variables; + } + + /** + * Sets molang on data on entry. + * + * @return On Entry + */ + public String[] onEntry() { + return this.onEntry; + } + + /** + * Sets molang on data on entry. + * + * @param onEntry On Entry + */ + public void onEntry(String[] onEntry) { + this.onEntry = onEntry; + } + + /** + * Sets molang on data on exit. + * + * @return On Exit + */ + public String[] onExit() { + return this.onExit; + } + + /** + * Sets molang on data on exit. + * + * @param onExit On Exit + */ + public void onExit(String[] onExit) { + this.onExit = onExit; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/states/SoundEffects.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/states/SoundEffects.java new file mode 100644 index 0000000..7ac23e2 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/states/SoundEffects.java @@ -0,0 +1,21 @@ +package org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.animationcontrollers.states; + +import java.lang.String; + +public class SoundEffects { + public String effect; + + /** + * Valid sound effect names should be listed in the entity's resource_definition json file. + */ + public String effect() { + return this.effect; + } + + /** + * Valid sound effect names should be listed in the entity's resource_definition json file. + */ + public void effect(String effect) { + this.effect = effect; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/states/Variables.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/states/Variables.java new file mode 100644 index 0000000..d01a37d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animation_controllers/animationcontroller/animationcontrollers/states/Variables.java @@ -0,0 +1,36 @@ +package org.geysermc.pack.bedrock.resource.animation_controllers.animationcontroller.animationcontrollers.states; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Float; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +public class Variables { + public String input; + + @JsonProperty("remap_curve") + private Map remapCurve = new HashMap<>(); + + public String input() { + return this.input; + } + + public void input(String input) { + this.input = input; + } + + /** + * @return Remap Curve + */ + public Map remapCurve() { + return this.remapCurve; + } + + /** + * @param remapCurve Remap Curve + */ + public void remapCurve(Map remapCurve) { + this.remapCurve = remapCurve; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/ActorAnimation.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/ActorAnimation.java new file mode 100644 index 0000000..33c403e --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/ActorAnimation.java @@ -0,0 +1,55 @@ +package org.geysermc.pack.bedrock.resource.animations; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.animations.actoranimation.Animations; + +/** + * Actor Animation + *

+ * The RP animation that changes an actors models, or molang data. + */ +public class ActorAnimation { + @JsonProperty("format_version") + public String formatVersion; + + private Map animations = new HashMap<>(); + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The animation specification. + * + * @return Animations Schema + */ + public Map animations() { + return this.animations; + } + + /** + * The animation specification. + * + * @param animations Animations Schema + */ + public void animations(Map animations) { + this.animations = animations; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/Animations.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/Animations.java new file mode 100644 index 0000000..4a44d1f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/Animations.java @@ -0,0 +1,175 @@ +package org.geysermc.pack.bedrock.resource.animations.actoranimation; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.animations.actoranimation.animations.Bones; + +/** + * Animations Schema + *

+ * The animation specification. + */ +public class Animations { + @JsonProperty("anim_time_update") + public String animTimeUpdate; + + @JsonProperty("animation_length") + public float animationLength; + + @JsonProperty("blend_weight") + public String blendWeight; + + private Map bones = new HashMap<>(); + + @JsonProperty("loop_delay") + public String loopDelay; + + @JsonProperty("override_previous_animation") + public boolean overridePreviousAnimation; + + @JsonProperty("particle_effects") + private Map particleEffects = new HashMap<>(); + + @JsonProperty("start_delay") + public String startDelay; + + @JsonProperty("sound_effects") + private Map soundEffects = new HashMap<>(); + + private Map timeline = new HashMap<>(); + + public String animTimeUpdate() { + return this.animTimeUpdate; + } + + public void animTimeUpdate(String animTimeUpdate) { + this.animTimeUpdate = animTimeUpdate; + } + + /** + * Override calculated value (set as the last keyframe time) and set animation length in seconds. + * + * @return Animation Length + */ + public float animationLength() { + return this.animationLength; + } + + /** + * Override calculated value (set as the last keyframe time) and set animation length in seconds. + * + * @param animationLength Animation Length + */ + public void animationLength(float animationLength) { + this.animationLength = animationLength; + } + + public String blendWeight() { + return this.blendWeight; + } + + public void blendWeight(String blendWeight) { + this.blendWeight = blendWeight; + } + + /** + * Defines how the bones in an animation move or transform. + * + * @return Bones + */ + public Map bones() { + return this.bones; + } + + /** + * Defines how the bones in an animation move or transform. + * + * @param bones Bones + */ + public void bones(Map bones) { + this.bones = bones; + } + + public String loopDelay() { + return this.loopDelay; + } + + public void loopDelay(String loopDelay) { + this.loopDelay = loopDelay; + } + + /** + * Reset bones in this animation to the default pose before applying this animation. + * + * @return Override Previous Animation + */ + public boolean overridePreviousAnimation() { + return this.overridePreviousAnimation; + } + + /** + * Reset bones in this animation to the default pose before applying this animation. + * + * @param overridePreviousAnimation Override Previous Animation + */ + public void overridePreviousAnimation(boolean overridePreviousAnimation) { + this.overridePreviousAnimation = overridePreviousAnimation; + } + + /** + * @return Particle Effects + */ + public Map particleEffects() { + return this.particleEffects; + } + + /** + * @param particleEffects Particle Effects + */ + public void particleEffects(Map particleEffects) { + this.particleEffects = particleEffects; + } + + public String startDelay() { + return this.startDelay; + } + + public void startDelay(String startDelay) { + this.startDelay = startDelay; + } + + /** + * @return Sound Effect + */ + public Map soundEffects() { + return this.soundEffects; + } + + /** + * @param soundEffects Sound Effect + */ + public void soundEffects(Map soundEffects) { + this.soundEffects = soundEffects; + } + + /** + * The time line. + * + * @return Timeline + */ + public Map timeline() { + return this.timeline; + } + + /** + * The time line. + * + * @param timeline Timeline + */ + public void timeline(Map timeline) { + this.timeline = timeline; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/animations/Bones.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/animations/Bones.java new file mode 100644 index 0000000..896707b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/animations/Bones.java @@ -0,0 +1,66 @@ +package org.geysermc.pack.bedrock.resource.animations.actoranimation.animations; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.animations.actoranimation.animations.bones.RelativeTo; + +/** + * Bones + *

+ * Defines how the bones in an animation move or transform. + */ +public class Bones { + public String[] position; + + public String[] rotation; + + @JsonProperty("relative_to") + public RelativeTo relativeTo; + + private Map scale = new HashMap<>(); + + public String[] position() { + return this.position; + } + + public void position(String[] position) { + this.position = position; + } + + public String[] rotation() { + return this.rotation; + } + + public void rotation(String[] rotation) { + this.rotation = rotation; + } + + /** + * If set, makes the bone rotation relative to the entity instead of the bone's parent. + * + * @return Relative To + */ + public RelativeTo relativeTo() { + return this.relativeTo; + } + + /** + * If set, makes the bone rotation relative to the entity instead of the bone's parent. + * + * @param relativeTo Relative To + */ + public void relativeTo(RelativeTo relativeTo) { + this.relativeTo = relativeTo; + } + + public Map scale() { + return this.scale; + } + + public void scale(Map scale) { + this.scale = scale; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/animations/bones/RelativeTo.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/animations/bones/RelativeTo.java new file mode 100644 index 0000000..0b5b409 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/animations/actoranimation/animations/bones/RelativeTo.java @@ -0,0 +1,30 @@ +package org.geysermc.pack.bedrock.resource.animations.actoranimation.animations.bones; + +import java.lang.String; + +/** + * Relative To + *

+ * If set, makes the bone rotation relative to the entity instead of the bone's parent. + */ +public class RelativeTo { + public String rotation; + + /** + * If set, makes the bone rotation relative to the entity instead of the bone's parent. + * + * @return Rotation + */ + public String rotation() { + return this.rotation; + } + + /** + * If set, makes the bone rotation relative to the entity instead of the bone's parent. + * + * @param rotation Rotation + */ + public void rotation(String rotation) { + this.rotation = rotation; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/Attachable.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/Attachable.java new file mode 100644 index 0000000..229174a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/Attachable.java @@ -0,0 +1,26 @@ +package org.geysermc.pack.bedrock.resource.attachables; + +import org.geysermc.pack.bedrock.resource.attachables.attachable.Description; + +/** + * Attachables + *

+ * The attachables definition. + */ +public class Attachable { + public Description description; + + /** + * @return Description + */ + public Description description() { + return this.description; + } + + /** + * @param description Description + */ + public void description(Description description) { + this.description = description; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/Attachables.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/Attachables.java new file mode 100644 index 0000000..9600f63 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/Attachables.java @@ -0,0 +1,51 @@ +package org.geysermc.pack.bedrock.resource.attachables; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Actor Animation 1.10.0 + */ +public class Attachables { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("minecraft:attachable") + public Attachable attachable; + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return 1.10.0 Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion 1.10.0 Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The attachables definition. + * + * @return Attachables + */ + public Attachable attachable() { + return this.attachable; + } + + /** + * The attachables definition. + * + * @param attachable Attachables + */ + public void attachable(Attachable attachable) { + this.attachable = attachable; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/Description.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/Description.java new file mode 100644 index 0000000..70e1505 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/Description.java @@ -0,0 +1,285 @@ +package org.geysermc.pack.bedrock.resource.attachables.attachable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.attachables.attachable.description.Scripts; +import org.geysermc.pack.bedrock.resource.attachables.attachable.description.SpawnEgg; + +/** + * Description + */ +public class Description { + private Map animations = new HashMap<>(); + + @JsonProperty("animation_controllers") + public String[] animationControllers; + + @JsonProperty("enable_attachables") + public boolean enableAttachables; + + private Map geometry = new HashMap<>(); + + public String identifier; + + private Map item = new HashMap<>(); + + private Map materials = new HashMap<>(); + + @JsonProperty("min_engine_version") + public String minEngineVersion; + + @JsonProperty("particle_effects") + private Map particleEffects = new HashMap<>(); + + @JsonProperty("particle_emitters") + private Map particleEmitters = new HashMap<>(); + + @JsonProperty("render_controllers") + public String[] renderControllers; + + public Scripts scripts; + + @JsonProperty("sound_effects") + public String[] soundEffects; + + @JsonProperty("spawn_egg") + public SpawnEgg spawnEgg; + + private Map textures = new HashMap<>(); + + /** + * The collection of animations references. + * + * @return Animations + */ + public Map animations() { + return this.animations; + } + + /** + * The collection of animations references. + * + * @param animations Animations + */ + public void animations(Map animations) { + this.animations = animations; + } + + /** + * The specification of animation controllers. + * + * @return Animation Controllers + */ + public String[] animationControllers() { + return this.animationControllers; + } + + /** + * The specification of animation controllers. + * + * @param animationControllers Animation Controllers + */ + public void animationControllers(String[] animationControllers) { + this.animationControllers = animationControllers; + } + + /** + * @return Enable Attachables + */ + public boolean enableAttachables() { + return this.enableAttachables; + } + + /** + * @param enableAttachables Enable Attachables + */ + public void enableAttachables(boolean enableAttachables) { + this.enableAttachables = enableAttachables; + } + + /** + * The geometry specification. + * + * @return Geometry + */ + public Map geometry() { + return this.geometry; + } + + /** + * The geometry specification. + * + * @param geometry Geometry + */ + public void geometry(Map geometry) { + this.geometry = geometry; + } + + /** + * @return Identifier + */ + public String identifier() { + return this.identifier; + } + + /** + * @param identifier Identifier + */ + public void identifier(String identifier) { + this.identifier = identifier; + } + + /** + * @return Item + */ + public Map item() { + return this.item; + } + + /** + * @param item Item + */ + public void item(Map item) { + this.item = item; + } + + /** + * A collection of material references. + * + * @return Materials + */ + public Map materials() { + return this.materials; + } + + /** + * A collection of material references. + * + * @param materials Materials + */ + public void materials(Map materials) { + this.materials = materials; + } + + /** + * The minimum engine needed to use this. + * + * @return Minimum Engine Version + */ + public String minEngineVersion() { + return this.minEngineVersion; + } + + /** + * The minimum engine needed to use this. + * + * @param minEngineVersion Minimum Engine Version + */ + public void minEngineVersion(String minEngineVersion) { + this.minEngineVersion = minEngineVersion; + } + + /** + * A collection of particle effect references. + * + * @return Particle Effects + */ + public Map particleEffects() { + return this.particleEffects; + } + + /** + * A collection of particle effect references. + * + * @param particleEffects Particle Effects + */ + public void particleEffects(Map particleEffects) { + this.particleEffects = particleEffects; + } + + /** + * @return Particle Emitters + */ + public Map particleEmitters() { + return this.particleEmitters; + } + + /** + * @param particleEmitters Particle Emitters + */ + public void particleEmitters(Map particleEmitters) { + this.particleEmitters = particleEmitters; + } + + /** + * @return Render Controllers + */ + public String[] renderControllers() { + return this.renderControllers; + } + + /** + * @param renderControllers Render Controllers + */ + public void renderControllers(String[] renderControllers) { + this.renderControllers = renderControllers; + } + + /** + * @return Scripts + */ + public Scripts scripts() { + return this.scripts; + } + + /** + * @param scripts Scripts + */ + public void scripts(Scripts scripts) { + this.scripts = scripts; + } + + /** + * @return Sound Effects + */ + public String[] soundEffects() { + return this.soundEffects; + } + + /** + * @param soundEffects Sound Effects + */ + public void soundEffects(String[] soundEffects) { + this.soundEffects = soundEffects; + } + + /** + * @return Spawn Egg + */ + public SpawnEgg spawnEgg() { + return this.spawnEgg; + } + + /** + * @param spawnEgg Spawn Egg + */ + public void spawnEgg(SpawnEgg spawnEgg) { + this.spawnEgg = spawnEgg; + } + + /** + * @return Textures + */ + public Map textures() { + return this.textures; + } + + /** + * @param textures Textures + */ + public void textures(Map textures) { + this.textures = textures; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/description/Scripts.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/description/Scripts.java new file mode 100644 index 0000000..1827c44 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/description/Scripts.java @@ -0,0 +1,60 @@ +package org.geysermc.pack.bedrock.resource.attachables.attachable.description; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Scripts + */ +public class Scripts { + private Map animate = new HashMap<>(); + + @JsonProperty("parent_setup") + public String parentSetup; + + public String scale; + + /** + * @return Animate + */ + public Map animate() { + return this.animate; + } + + /** + * @param animate Animate + */ + public void animate(Map animate) { + this.animate = animate; + } + + /** + * @return Parent Setup + */ + public String parentSetup() { + return this.parentSetup; + } + + /** + * @param parentSetup Parent Setup + */ + public void parentSetup(String parentSetup) { + this.parentSetup = parentSetup; + } + + /** + * @return Scale + */ + public String scale() { + return this.scale; + } + + /** + * @param scale Scale + */ + public void scale(String scale) { + this.scale = scale; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/description/SpawnEgg.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/description/SpawnEgg.java new file mode 100644 index 0000000..5ea3e92 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/attachables/attachable/description/SpawnEgg.java @@ -0,0 +1,76 @@ +package org.geysermc.pack.bedrock.resource.attachables.attachable.description; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Spawn Egg + */ +public class SpawnEgg { + @JsonProperty("base_colour") + public String baseColour; + + @JsonProperty("overlay_color") + public String overlayColor; + + public String texture; + + @JsonProperty("texture_index") + public int textureIndex; + + /** + * @return Base Colour + */ + public String baseColour() { + return this.baseColour; + } + + /** + * @param baseColour Base Colour + */ + public void baseColour(String baseColour) { + this.baseColour = baseColour; + } + + /** + * @return Overlay Color + */ + public String overlayColor() { + return this.overlayColor; + } + + /** + * @param overlayColor Overlay Color + */ + public void overlayColor(String overlayColor) { + this.overlayColor = overlayColor; + } + + /** + * @return Texture + */ + public String texture() { + return this.texture; + } + + /** + * @param texture Texture + */ + public void texture(String texture) { + this.texture = texture; + } + + /** + * @return Texture Index + */ + public int textureIndex() { + return this.textureIndex; + } + + /** + * @param textureIndex Texture Index + */ + public void textureIndex(int textureIndex) { + this.textureIndex = textureIndex; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/Biomes.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/Biomes.java new file mode 100644 index 0000000..e319b02 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/Biomes.java @@ -0,0 +1,1539 @@ +package org.geysermc.pack.bedrock.resource.biomesclient; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.BambooJungle; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.BambooJungleHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.BasaltDeltas; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Beach; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.BirchForest; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.BirchForestHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ColdBeach; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ColdOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ColdTaiga; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ColdTaigaHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ColdTaigaMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.CrimsonForest; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DeepColdOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DeepFrozenOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DeepLukewarmOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DeepOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DeepWarmOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DefaultValue; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Desert; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.DesertHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ExtremeHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ExtremeHillsEdge; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ExtremeHillsMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ExtremeHillsPlusTrees; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ExtremeHillsPlusTreesMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.FlowerForest; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Forest; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.ForestHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.FrozenOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.FrozenRiver; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Hell; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.IceMountains; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.IcePlains; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.IcePlainsSpikes; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Jungle; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.JungleEdge; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.JungleHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.JungleMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.LukewarmOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MangroveSwamp; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MegaSpruceTaiga; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MegaSpruceTaigaMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MegaTaiga; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MegaTaigaHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MegaTaigaMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Mesa; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MesaBryce; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MesaMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MesaPlateau; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MesaPlateauStone; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MushroomIsland; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.MushroomIslandShore; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Ocean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Plains; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.River; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.RoofedForest; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Savanna; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.SavannaMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.SavannaPlateau; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.SoulsandValley; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.StoneBeach; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.SunflowerPlains; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Swampland; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.SwamplandMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.Taiga; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.TaigaHills; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.TaigaMutated; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.TheEnd; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.WarmOcean; +import org.geysermc.pack.bedrock.resource.biomesclient.biomes.WarpedForest; + +/** + * Biomes + *

+ * A collection of predefined biomes. + */ +public class Biomes { + @JsonProperty("bamboo_jungle_hills") + public BambooJungleHills bambooJungleHills; + + @JsonProperty("bamboo_jungle") + public BambooJungle bambooJungle; + + @JsonProperty("basalt_deltas") + public BasaltDeltas basaltDeltas; + + public Beach beach; + + @JsonProperty("birch_forest_hills") + public BirchForestHills birchForestHills; + + @JsonProperty("birch_forest") + public BirchForest birchForest; + + @JsonProperty("cold_beach") + public ColdBeach coldBeach; + + @JsonProperty("cold_ocean") + public ColdOcean coldOcean; + + @JsonProperty("cold_taiga_hills") + public ColdTaigaHills coldTaigaHills; + + @JsonProperty("cold_taiga_mutated") + public ColdTaigaMutated coldTaigaMutated; + + @JsonProperty("cold_taiga") + public ColdTaiga coldTaiga; + + @JsonProperty("crimson_forest") + public CrimsonForest crimsonForest; + + @JsonProperty("deep_cold_ocean") + public DeepColdOcean deepColdOcean; + + @JsonProperty("deep_frozen_ocean") + public DeepFrozenOcean deepFrozenOcean; + + @JsonProperty("deep_lukewarm_ocean") + public DeepLukewarmOcean deepLukewarmOcean; + + @JsonProperty("deep_ocean") + public DeepOcean deepOcean; + + @JsonProperty("deep_warm_ocean") + public DeepWarmOcean deepWarmOcean; + + @JsonProperty("default") + public DefaultValue defaultValue; + + @JsonProperty("desert_hills") + public DesertHills desertHills; + + public Desert desert; + + @JsonProperty("extreme_hills_edge") + public ExtremeHillsEdge extremeHillsEdge; + + @JsonProperty("extreme_hills_mutated") + public ExtremeHillsMutated extremeHillsMutated; + + @JsonProperty("extreme_hills_plus_trees_mutated") + public ExtremeHillsPlusTreesMutated extremeHillsPlusTreesMutated; + + @JsonProperty("extreme_hills_plus_trees") + public ExtremeHillsPlusTrees extremeHillsPlusTrees; + + @JsonProperty("extreme_hills") + public ExtremeHills extremeHills; + + @JsonProperty("flower_forest") + public FlowerForest flowerForest; + + @JsonProperty("forest_hills") + public ForestHills forestHills; + + public Forest forest; + + @JsonProperty("frozen_ocean") + public FrozenOcean frozenOcean; + + @JsonProperty("frozen_river") + public FrozenRiver frozenRiver; + + public Hell hell; + + @JsonProperty("ice_mountains") + public IceMountains iceMountains; + + @JsonProperty("ice_plains_spikes") + public IcePlainsSpikes icePlainsSpikes; + + @JsonProperty("ice_plains") + public IcePlains icePlains; + + @JsonProperty("jungle_edge") + public JungleEdge jungleEdge; + + @JsonProperty("jungle_hills") + public JungleHills jungleHills; + + @JsonProperty("jungle_mutated") + public JungleMutated jungleMutated; + + public Jungle jungle; + + @JsonProperty("lukewarm_ocean") + public LukewarmOcean lukewarmOcean; + + @JsonProperty("mangrove_swamp") + public MangroveSwamp mangroveSwamp; + + @JsonProperty("mega_spruce_taiga_mutated") + public MegaSpruceTaigaMutated megaSpruceTaigaMutated; + + @JsonProperty("mega_spruce_taiga") + public MegaSpruceTaiga megaSpruceTaiga; + + @JsonProperty("mega_taiga_hills") + public MegaTaigaHills megaTaigaHills; + + @JsonProperty("mega_taiga_mutated") + public MegaTaigaMutated megaTaigaMutated; + + @JsonProperty("mega_taiga") + public MegaTaiga megaTaiga; + + @JsonProperty("mesa_bryce") + public MesaBryce mesaBryce; + + @JsonProperty("mesa_mutated") + public MesaMutated mesaMutated; + + @JsonProperty("mesa_plateau_stone") + public MesaPlateauStone mesaPlateauStone; + + @JsonProperty("mesa_plateau") + public MesaPlateau mesaPlateau; + + public Mesa mesa; + + @JsonProperty("mushroom_island_shore") + public MushroomIslandShore mushroomIslandShore; + + @JsonProperty("mushroom_island") + public MushroomIsland mushroomIsland; + + public Ocean ocean; + + public Plains plains; + + public River river; + + @JsonProperty("roofed_forest") + public RoofedForest roofedForest; + + @JsonProperty("savanna_mutated") + public SavannaMutated savannaMutated; + + @JsonProperty("savanna_plateau") + public SavannaPlateau savannaPlateau; + + public Savanna savanna; + + @JsonProperty("soulsand_valley") + public SoulsandValley soulsandValley; + + @JsonProperty("stone_beach") + public StoneBeach stoneBeach; + + @JsonProperty("sunflower_plains") + public SunflowerPlains sunflowerPlains; + + @JsonProperty("swampland_mutated") + public SwamplandMutated swamplandMutated; + + public Swampland swampland; + + @JsonProperty("taiga_hills") + public TaigaHills taigaHills; + + @JsonProperty("taiga_mutated") + public TaigaMutated taigaMutated; + + public Taiga taiga; + + @JsonProperty("the_end") + public TheEnd theEnd; + + @JsonProperty("warm_ocean") + public WarmOcean warmOcean; + + @JsonProperty("warped_forest") + public WarpedForest warpedForest; + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public BambooJungleHills bambooJungleHills() { + return this.bambooJungleHills; + } + + /** + * The specification of colors in a given biome. + * + * @param bambooJungleHills Biome + */ + public void bambooJungleHills(BambooJungleHills bambooJungleHills) { + this.bambooJungleHills = bambooJungleHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public BambooJungle bambooJungle() { + return this.bambooJungle; + } + + /** + * The specification of colors in a given biome. + * + * @param bambooJungle Biome + */ + public void bambooJungle(BambooJungle bambooJungle) { + this.bambooJungle = bambooJungle; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public BasaltDeltas basaltDeltas() { + return this.basaltDeltas; + } + + /** + * The specification of colors in a given biome. + * + * @param basaltDeltas Biome + */ + public void basaltDeltas(BasaltDeltas basaltDeltas) { + this.basaltDeltas = basaltDeltas; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Beach beach() { + return this.beach; + } + + /** + * The specification of colors in a given biome. + * + * @param beach Biome + */ + public void beach(Beach beach) { + this.beach = beach; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public BirchForestHills birchForestHills() { + return this.birchForestHills; + } + + /** + * The specification of colors in a given biome. + * + * @param birchForestHills Biome + */ + public void birchForestHills(BirchForestHills birchForestHills) { + this.birchForestHills = birchForestHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public BirchForest birchForest() { + return this.birchForest; + } + + /** + * The specification of colors in a given biome. + * + * @param birchForest Biome + */ + public void birchForest(BirchForest birchForest) { + this.birchForest = birchForest; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ColdBeach coldBeach() { + return this.coldBeach; + } + + /** + * The specification of colors in a given biome. + * + * @param coldBeach Biome + */ + public void coldBeach(ColdBeach coldBeach) { + this.coldBeach = coldBeach; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ColdOcean coldOcean() { + return this.coldOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param coldOcean Biome + */ + public void coldOcean(ColdOcean coldOcean) { + this.coldOcean = coldOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ColdTaigaHills coldTaigaHills() { + return this.coldTaigaHills; + } + + /** + * The specification of colors in a given biome. + * + * @param coldTaigaHills Biome + */ + public void coldTaigaHills(ColdTaigaHills coldTaigaHills) { + this.coldTaigaHills = coldTaigaHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ColdTaigaMutated coldTaigaMutated() { + return this.coldTaigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param coldTaigaMutated Biome + */ + public void coldTaigaMutated(ColdTaigaMutated coldTaigaMutated) { + this.coldTaigaMutated = coldTaigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ColdTaiga coldTaiga() { + return this.coldTaiga; + } + + /** + * The specification of colors in a given biome. + * + * @param coldTaiga Biome + */ + public void coldTaiga(ColdTaiga coldTaiga) { + this.coldTaiga = coldTaiga; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public CrimsonForest crimsonForest() { + return this.crimsonForest; + } + + /** + * The specification of colors in a given biome. + * + * @param crimsonForest Biome + */ + public void crimsonForest(CrimsonForest crimsonForest) { + this.crimsonForest = crimsonForest; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DeepColdOcean deepColdOcean() { + return this.deepColdOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param deepColdOcean Biome + */ + public void deepColdOcean(DeepColdOcean deepColdOcean) { + this.deepColdOcean = deepColdOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DeepFrozenOcean deepFrozenOcean() { + return this.deepFrozenOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param deepFrozenOcean Biome + */ + public void deepFrozenOcean(DeepFrozenOcean deepFrozenOcean) { + this.deepFrozenOcean = deepFrozenOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DeepLukewarmOcean deepLukewarmOcean() { + return this.deepLukewarmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param deepLukewarmOcean Biome + */ + public void deepLukewarmOcean(DeepLukewarmOcean deepLukewarmOcean) { + this.deepLukewarmOcean = deepLukewarmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DeepOcean deepOcean() { + return this.deepOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param deepOcean Biome + */ + public void deepOcean(DeepOcean deepOcean) { + this.deepOcean = deepOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DeepWarmOcean deepWarmOcean() { + return this.deepWarmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param deepWarmOcean Biome + */ + public void deepWarmOcean(DeepWarmOcean deepWarmOcean) { + this.deepWarmOcean = deepWarmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DefaultValue defaultValue() { + return this.defaultValue; + } + + /** + * The specification of colors in a given biome. + * + * @param defaultValue Biome + */ + public void defaultValue(DefaultValue defaultValue) { + this.defaultValue = defaultValue; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public DesertHills desertHills() { + return this.desertHills; + } + + /** + * The specification of colors in a given biome. + * + * @param desertHills Biome + */ + public void desertHills(DesertHills desertHills) { + this.desertHills = desertHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Desert desert() { + return this.desert; + } + + /** + * The specification of colors in a given biome. + * + * @param desert Biome + */ + public void desert(Desert desert) { + this.desert = desert; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ExtremeHillsEdge extremeHillsEdge() { + return this.extremeHillsEdge; + } + + /** + * The specification of colors in a given biome. + * + * @param extremeHillsEdge Biome + */ + public void extremeHillsEdge(ExtremeHillsEdge extremeHillsEdge) { + this.extremeHillsEdge = extremeHillsEdge; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ExtremeHillsMutated extremeHillsMutated() { + return this.extremeHillsMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param extremeHillsMutated Biome + */ + public void extremeHillsMutated(ExtremeHillsMutated extremeHillsMutated) { + this.extremeHillsMutated = extremeHillsMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ExtremeHillsPlusTreesMutated extremeHillsPlusTreesMutated() { + return this.extremeHillsPlusTreesMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param extremeHillsPlusTreesMutated Biome + */ + public void extremeHillsPlusTreesMutated( + ExtremeHillsPlusTreesMutated extremeHillsPlusTreesMutated) { + this.extremeHillsPlusTreesMutated = extremeHillsPlusTreesMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ExtremeHillsPlusTrees extremeHillsPlusTrees() { + return this.extremeHillsPlusTrees; + } + + /** + * The specification of colors in a given biome. + * + * @param extremeHillsPlusTrees Biome + */ + public void extremeHillsPlusTrees(ExtremeHillsPlusTrees extremeHillsPlusTrees) { + this.extremeHillsPlusTrees = extremeHillsPlusTrees; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ExtremeHills extremeHills() { + return this.extremeHills; + } + + /** + * The specification of colors in a given biome. + * + * @param extremeHills Biome + */ + public void extremeHills(ExtremeHills extremeHills) { + this.extremeHills = extremeHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public FlowerForest flowerForest() { + return this.flowerForest; + } + + /** + * The specification of colors in a given biome. + * + * @param flowerForest Biome + */ + public void flowerForest(FlowerForest flowerForest) { + this.flowerForest = flowerForest; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public ForestHills forestHills() { + return this.forestHills; + } + + /** + * The specification of colors in a given biome. + * + * @param forestHills Biome + */ + public void forestHills(ForestHills forestHills) { + this.forestHills = forestHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Forest forest() { + return this.forest; + } + + /** + * The specification of colors in a given biome. + * + * @param forest Biome + */ + public void forest(Forest forest) { + this.forest = forest; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public FrozenOcean frozenOcean() { + return this.frozenOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param frozenOcean Biome + */ + public void frozenOcean(FrozenOcean frozenOcean) { + this.frozenOcean = frozenOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public FrozenRiver frozenRiver() { + return this.frozenRiver; + } + + /** + * The specification of colors in a given biome. + * + * @param frozenRiver Biome + */ + public void frozenRiver(FrozenRiver frozenRiver) { + this.frozenRiver = frozenRiver; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Hell hell() { + return this.hell; + } + + /** + * The specification of colors in a given biome. + * + * @param hell Biome + */ + public void hell(Hell hell) { + this.hell = hell; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public IceMountains iceMountains() { + return this.iceMountains; + } + + /** + * The specification of colors in a given biome. + * + * @param iceMountains Biome + */ + public void iceMountains(IceMountains iceMountains) { + this.iceMountains = iceMountains; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public IcePlainsSpikes icePlainsSpikes() { + return this.icePlainsSpikes; + } + + /** + * The specification of colors in a given biome. + * + * @param icePlainsSpikes Biome + */ + public void icePlainsSpikes(IcePlainsSpikes icePlainsSpikes) { + this.icePlainsSpikes = icePlainsSpikes; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public IcePlains icePlains() { + return this.icePlains; + } + + /** + * The specification of colors in a given biome. + * + * @param icePlains Biome + */ + public void icePlains(IcePlains icePlains) { + this.icePlains = icePlains; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public JungleEdge jungleEdge() { + return this.jungleEdge; + } + + /** + * The specification of colors in a given biome. + * + * @param jungleEdge Biome + */ + public void jungleEdge(JungleEdge jungleEdge) { + this.jungleEdge = jungleEdge; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public JungleHills jungleHills() { + return this.jungleHills; + } + + /** + * The specification of colors in a given biome. + * + * @param jungleHills Biome + */ + public void jungleHills(JungleHills jungleHills) { + this.jungleHills = jungleHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public JungleMutated jungleMutated() { + return this.jungleMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param jungleMutated Biome + */ + public void jungleMutated(JungleMutated jungleMutated) { + this.jungleMutated = jungleMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Jungle jungle() { + return this.jungle; + } + + /** + * The specification of colors in a given biome. + * + * @param jungle Biome + */ + public void jungle(Jungle jungle) { + this.jungle = jungle; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public LukewarmOcean lukewarmOcean() { + return this.lukewarmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param lukewarmOcean Biome + */ + public void lukewarmOcean(LukewarmOcean lukewarmOcean) { + this.lukewarmOcean = lukewarmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MangroveSwamp mangroveSwamp() { + return this.mangroveSwamp; + } + + /** + * The specification of colors in a given biome. + * + * @param mangroveSwamp Biome + */ + public void mangroveSwamp(MangroveSwamp mangroveSwamp) { + this.mangroveSwamp = mangroveSwamp; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MegaSpruceTaigaMutated megaSpruceTaigaMutated() { + return this.megaSpruceTaigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param megaSpruceTaigaMutated Biome + */ + public void megaSpruceTaigaMutated(MegaSpruceTaigaMutated megaSpruceTaigaMutated) { + this.megaSpruceTaigaMutated = megaSpruceTaigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MegaSpruceTaiga megaSpruceTaiga() { + return this.megaSpruceTaiga; + } + + /** + * The specification of colors in a given biome. + * + * @param megaSpruceTaiga Biome + */ + public void megaSpruceTaiga(MegaSpruceTaiga megaSpruceTaiga) { + this.megaSpruceTaiga = megaSpruceTaiga; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MegaTaigaHills megaTaigaHills() { + return this.megaTaigaHills; + } + + /** + * The specification of colors in a given biome. + * + * @param megaTaigaHills Biome + */ + public void megaTaigaHills(MegaTaigaHills megaTaigaHills) { + this.megaTaigaHills = megaTaigaHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MegaTaigaMutated megaTaigaMutated() { + return this.megaTaigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param megaTaigaMutated Biome + */ + public void megaTaigaMutated(MegaTaigaMutated megaTaigaMutated) { + this.megaTaigaMutated = megaTaigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MegaTaiga megaTaiga() { + return this.megaTaiga; + } + + /** + * The specification of colors in a given biome. + * + * @param megaTaiga Biome + */ + public void megaTaiga(MegaTaiga megaTaiga) { + this.megaTaiga = megaTaiga; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MesaBryce mesaBryce() { + return this.mesaBryce; + } + + /** + * The specification of colors in a given biome. + * + * @param mesaBryce Biome + */ + public void mesaBryce(MesaBryce mesaBryce) { + this.mesaBryce = mesaBryce; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MesaMutated mesaMutated() { + return this.mesaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param mesaMutated Biome + */ + public void mesaMutated(MesaMutated mesaMutated) { + this.mesaMutated = mesaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MesaPlateauStone mesaPlateauStone() { + return this.mesaPlateauStone; + } + + /** + * The specification of colors in a given biome. + * + * @param mesaPlateauStone Biome + */ + public void mesaPlateauStone(MesaPlateauStone mesaPlateauStone) { + this.mesaPlateauStone = mesaPlateauStone; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MesaPlateau mesaPlateau() { + return this.mesaPlateau; + } + + /** + * The specification of colors in a given biome. + * + * @param mesaPlateau Biome + */ + public void mesaPlateau(MesaPlateau mesaPlateau) { + this.mesaPlateau = mesaPlateau; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Mesa mesa() { + return this.mesa; + } + + /** + * The specification of colors in a given biome. + * + * @param mesa Biome + */ + public void mesa(Mesa mesa) { + this.mesa = mesa; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MushroomIslandShore mushroomIslandShore() { + return this.mushroomIslandShore; + } + + /** + * The specification of colors in a given biome. + * + * @param mushroomIslandShore Biome + */ + public void mushroomIslandShore(MushroomIslandShore mushroomIslandShore) { + this.mushroomIslandShore = mushroomIslandShore; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public MushroomIsland mushroomIsland() { + return this.mushroomIsland; + } + + /** + * The specification of colors in a given biome. + * + * @param mushroomIsland Biome + */ + public void mushroomIsland(MushroomIsland mushroomIsland) { + this.mushroomIsland = mushroomIsland; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Ocean ocean() { + return this.ocean; + } + + /** + * The specification of colors in a given biome. + * + * @param ocean Biome + */ + public void ocean(Ocean ocean) { + this.ocean = ocean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Plains plains() { + return this.plains; + } + + /** + * The specification of colors in a given biome. + * + * @param plains Biome + */ + public void plains(Plains plains) { + this.plains = plains; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public River river() { + return this.river; + } + + /** + * The specification of colors in a given biome. + * + * @param river Biome + */ + public void river(River river) { + this.river = river; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public RoofedForest roofedForest() { + return this.roofedForest; + } + + /** + * The specification of colors in a given biome. + * + * @param roofedForest Biome + */ + public void roofedForest(RoofedForest roofedForest) { + this.roofedForest = roofedForest; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public SavannaMutated savannaMutated() { + return this.savannaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param savannaMutated Biome + */ + public void savannaMutated(SavannaMutated savannaMutated) { + this.savannaMutated = savannaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public SavannaPlateau savannaPlateau() { + return this.savannaPlateau; + } + + /** + * The specification of colors in a given biome. + * + * @param savannaPlateau Biome + */ + public void savannaPlateau(SavannaPlateau savannaPlateau) { + this.savannaPlateau = savannaPlateau; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Savanna savanna() { + return this.savanna; + } + + /** + * The specification of colors in a given biome. + * + * @param savanna Biome + */ + public void savanna(Savanna savanna) { + this.savanna = savanna; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public SoulsandValley soulsandValley() { + return this.soulsandValley; + } + + /** + * The specification of colors in a given biome. + * + * @param soulsandValley Biome + */ + public void soulsandValley(SoulsandValley soulsandValley) { + this.soulsandValley = soulsandValley; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public StoneBeach stoneBeach() { + return this.stoneBeach; + } + + /** + * The specification of colors in a given biome. + * + * @param stoneBeach Biome + */ + public void stoneBeach(StoneBeach stoneBeach) { + this.stoneBeach = stoneBeach; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public SunflowerPlains sunflowerPlains() { + return this.sunflowerPlains; + } + + /** + * The specification of colors in a given biome. + * + * @param sunflowerPlains Biome + */ + public void sunflowerPlains(SunflowerPlains sunflowerPlains) { + this.sunflowerPlains = sunflowerPlains; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public SwamplandMutated swamplandMutated() { + return this.swamplandMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param swamplandMutated Biome + */ + public void swamplandMutated(SwamplandMutated swamplandMutated) { + this.swamplandMutated = swamplandMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Swampland swampland() { + return this.swampland; + } + + /** + * The specification of colors in a given biome. + * + * @param swampland Biome + */ + public void swampland(Swampland swampland) { + this.swampland = swampland; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public TaigaHills taigaHills() { + return this.taigaHills; + } + + /** + * The specification of colors in a given biome. + * + * @param taigaHills Biome + */ + public void taigaHills(TaigaHills taigaHills) { + this.taigaHills = taigaHills; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public TaigaMutated taigaMutated() { + return this.taigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @param taigaMutated Biome + */ + public void taigaMutated(TaigaMutated taigaMutated) { + this.taigaMutated = taigaMutated; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public Taiga taiga() { + return this.taiga; + } + + /** + * The specification of colors in a given biome. + * + * @param taiga Biome + */ + public void taiga(Taiga taiga) { + this.taiga = taiga; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public TheEnd theEnd() { + return this.theEnd; + } + + /** + * The specification of colors in a given biome. + * + * @param theEnd Biome + */ + public void theEnd(TheEnd theEnd) { + this.theEnd = theEnd; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public WarmOcean warmOcean() { + return this.warmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @param warmOcean Biome + */ + public void warmOcean(WarmOcean warmOcean) { + this.warmOcean = warmOcean; + } + + /** + * The specification of colors in a given biome. + * + * @return Biome + */ + public WarpedForest warpedForest() { + return this.warpedForest; + } + + /** + * The specification of colors in a given biome. + * + * @param warpedForest Biome + */ + public void warpedForest(WarpedForest warpedForest) { + this.warpedForest = warpedForest; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BambooJungle.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BambooJungle.java new file mode 100644 index 0000000..1d61328 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BambooJungle.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class BambooJungle { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BambooJungleHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BambooJungleHills.java new file mode 100644 index 0000000..b9be9a4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BambooJungleHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class BambooJungleHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BasaltDeltas.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BasaltDeltas.java new file mode 100644 index 0000000..7a19bbe --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BasaltDeltas.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class BasaltDeltas { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Beach.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Beach.java new file mode 100644 index 0000000..fb99f93 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Beach.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Beach { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BirchForest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BirchForest.java new file mode 100644 index 0000000..8eb1aca --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BirchForest.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class BirchForest { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BirchForestHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BirchForestHills.java new file mode 100644 index 0000000..22f8ac5 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/BirchForestHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class BirchForestHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdBeach.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdBeach.java new file mode 100644 index 0000000..d3f9fee --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdBeach.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ColdBeach { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdOcean.java new file mode 100644 index 0000000..23c9b1b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ColdOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaiga.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaiga.java new file mode 100644 index 0000000..83a68fd --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaiga.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ColdTaiga { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaigaHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaigaHills.java new file mode 100644 index 0000000..da396c5 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaigaHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ColdTaigaHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaigaMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaigaMutated.java new file mode 100644 index 0000000..9d2d975 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ColdTaigaMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ColdTaigaMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/CrimsonForest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/CrimsonForest.java new file mode 100644 index 0000000..03a7612 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/CrimsonForest.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class CrimsonForest { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepColdOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepColdOcean.java new file mode 100644 index 0000000..2c24daa --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepColdOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DeepColdOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepFrozenOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepFrozenOcean.java new file mode 100644 index 0000000..10235ce --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepFrozenOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DeepFrozenOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepLukewarmOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepLukewarmOcean.java new file mode 100644 index 0000000..b7d9d19 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepLukewarmOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DeepLukewarmOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepOcean.java new file mode 100644 index 0000000..e361f9e --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DeepOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepWarmOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepWarmOcean.java new file mode 100644 index 0000000..0bf2cdd --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DeepWarmOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DeepWarmOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DefaultValue.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DefaultValue.java new file mode 100644 index 0000000..01c7db4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DefaultValue.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DefaultValue { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Desert.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Desert.java new file mode 100644 index 0000000..fa45a72 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Desert.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Desert { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DesertHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DesertHills.java new file mode 100644 index 0000000..48bd642 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/DesertHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class DesertHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHills.java new file mode 100644 index 0000000..9bdb179 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ExtremeHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsEdge.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsEdge.java new file mode 100644 index 0000000..d8742c1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsEdge.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ExtremeHillsEdge { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsMutated.java new file mode 100644 index 0000000..957a578 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ExtremeHillsMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsPlusTrees.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsPlusTrees.java new file mode 100644 index 0000000..ff10e51 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsPlusTrees.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ExtremeHillsPlusTrees { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsPlusTreesMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsPlusTreesMutated.java new file mode 100644 index 0000000..2d6e63d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ExtremeHillsPlusTreesMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ExtremeHillsPlusTreesMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FlowerForest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FlowerForest.java new file mode 100644 index 0000000..be53037 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FlowerForest.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class FlowerForest { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Forest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Forest.java new file mode 100644 index 0000000..1fa1581 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Forest.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Forest { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ForestHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ForestHills.java new file mode 100644 index 0000000..2f1e70a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/ForestHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class ForestHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FrozenOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FrozenOcean.java new file mode 100644 index 0000000..8a2a676 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FrozenOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class FrozenOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FrozenRiver.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FrozenRiver.java new file mode 100644 index 0000000..b7e2fb1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/FrozenRiver.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class FrozenRiver { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Hell.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Hell.java new file mode 100644 index 0000000..4af4d54 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Hell.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Hell { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IceMountains.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IceMountains.java new file mode 100644 index 0000000..2bf1790 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IceMountains.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class IceMountains { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IcePlains.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IcePlains.java new file mode 100644 index 0000000..28f1c7e --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IcePlains.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class IcePlains { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IcePlainsSpikes.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IcePlainsSpikes.java new file mode 100644 index 0000000..d5c2571 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/IcePlainsSpikes.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class IcePlainsSpikes { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Jungle.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Jungle.java new file mode 100644 index 0000000..c50edc4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Jungle.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Jungle { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleEdge.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleEdge.java new file mode 100644 index 0000000..e706100 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleEdge.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class JungleEdge { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleHills.java new file mode 100644 index 0000000..9180ad4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class JungleHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleMutated.java new file mode 100644 index 0000000..fa75690 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/JungleMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class JungleMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/LukewarmOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/LukewarmOcean.java new file mode 100644 index 0000000..1ab9860 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/LukewarmOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class LukewarmOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MangroveSwamp.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MangroveSwamp.java new file mode 100644 index 0000000..a87d6f1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MangroveSwamp.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MangroveSwamp { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaSpruceTaiga.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaSpruceTaiga.java new file mode 100644 index 0000000..365f3b9 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaSpruceTaiga.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MegaSpruceTaiga { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaSpruceTaigaMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaSpruceTaigaMutated.java new file mode 100644 index 0000000..5c217ab --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaSpruceTaigaMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MegaSpruceTaigaMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaiga.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaiga.java new file mode 100644 index 0000000..b6c0019 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaiga.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MegaTaiga { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaigaHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaigaHills.java new file mode 100644 index 0000000..1f57044 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaigaHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MegaTaigaHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaigaMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaigaMutated.java new file mode 100644 index 0000000..da7250d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MegaTaigaMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MegaTaigaMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Mesa.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Mesa.java new file mode 100644 index 0000000..09dbdb5 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Mesa.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Mesa { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaBryce.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaBryce.java new file mode 100644 index 0000000..82e6b56 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaBryce.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MesaBryce { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaMutated.java new file mode 100644 index 0000000..5719b0f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MesaMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaPlateau.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaPlateau.java new file mode 100644 index 0000000..cf7aef0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaPlateau.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MesaPlateau { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaPlateauStone.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaPlateauStone.java new file mode 100644 index 0000000..99aa72b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MesaPlateauStone.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MesaPlateauStone { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MushroomIsland.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MushroomIsland.java new file mode 100644 index 0000000..3492b4a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MushroomIsland.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MushroomIsland { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MushroomIslandShore.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MushroomIslandShore.java new file mode 100644 index 0000000..111e265 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/MushroomIslandShore.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class MushroomIslandShore { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Ocean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Ocean.java new file mode 100644 index 0000000..fb90e51 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Ocean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Ocean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Plains.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Plains.java new file mode 100644 index 0000000..f5be322 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Plains.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Plains { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/River.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/River.java new file mode 100644 index 0000000..e321a85 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/River.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class River { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/RoofedForest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/RoofedForest.java new file mode 100644 index 0000000..060749b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/RoofedForest.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class RoofedForest { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Savanna.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Savanna.java new file mode 100644 index 0000000..07244d0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Savanna.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Savanna { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SavannaMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SavannaMutated.java new file mode 100644 index 0000000..c17abce --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SavannaMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class SavannaMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SavannaPlateau.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SavannaPlateau.java new file mode 100644 index 0000000..cf922c1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SavannaPlateau.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class SavannaPlateau { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SoulsandValley.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SoulsandValley.java new file mode 100644 index 0000000..77dc88c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SoulsandValley.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class SoulsandValley { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/StoneBeach.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/StoneBeach.java new file mode 100644 index 0000000..10f9df8 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/StoneBeach.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class StoneBeach { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SunflowerPlains.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SunflowerPlains.java new file mode 100644 index 0000000..e6241cf --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SunflowerPlains.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class SunflowerPlains { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Swampland.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Swampland.java new file mode 100644 index 0000000..925e8f6 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Swampland.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Swampland { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SwamplandMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SwamplandMutated.java new file mode 100644 index 0000000..b6fe5da --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/SwamplandMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class SwamplandMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Taiga.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Taiga.java new file mode 100644 index 0000000..5d74654 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/Taiga.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class Taiga { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TaigaHills.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TaigaHills.java new file mode 100644 index 0000000..e3ebd9f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TaigaHills.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class TaigaHills { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TaigaMutated.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TaigaMutated.java new file mode 100644 index 0000000..84f6507 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TaigaMutated.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class TaigaMutated { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TheEnd.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TheEnd.java new file mode 100644 index 0000000..9208cb0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/TheEnd.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class TheEnd { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/WarmOcean.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/WarmOcean.java new file mode 100644 index 0000000..143c1bd --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/WarmOcean.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class WarmOcean { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/WarpedForest.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/WarpedForest.java new file mode 100644 index 0000000..00875c4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/biomesclient/biomes/WarpedForest.java @@ -0,0 +1,125 @@ +package org.geysermc.pack.bedrock.resource.biomesclient.biomes; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Biome + *

+ * The specification of colors in a given biome. + */ +public class WarpedForest { + @JsonProperty("fog_identifier") + public String fogIdentifier; + + @JsonProperty("fog_ids_to_merge") + public String[] fogIdsToMerge; + + @JsonProperty("inherit_from_prior_fog") + public boolean inheritFromPriorFog; + + @JsonProperty("remove_all_prior_fog") + public boolean removeAllPriorFog; + + @JsonProperty("water_fog_distance") + public int waterFogDistance; + + @JsonProperty("water_surface_transparency") + public float waterSurfaceTransparency; + + /** + * A minecraft fog identifier. + * + * @return Fog Identifier + */ + public String fogIdentifier() { + return this.fogIdentifier; + } + + /** + * A minecraft fog identifier. + * + * @param fogIdentifier Fog Identifier + */ + public void fogIdentifier(String fogIdentifier) { + this.fogIdentifier = fogIdentifier; + } + + /** + * @return Fog Ids To Merge + */ + public String[] fogIdsToMerge() { + return this.fogIdsToMerge; + } + + /** + * @param fogIdsToMerge Fog Ids To Merge + */ + public void fogIdsToMerge(String[] fogIdsToMerge) { + this.fogIdsToMerge = fogIdsToMerge; + } + + /** + * @return Inherit From Prior Fog + */ + public boolean inheritFromPriorFog() { + return this.inheritFromPriorFog; + } + + /** + * @param inheritFromPriorFog Inherit From Prior Fog + */ + public void inheritFromPriorFog(boolean inheritFromPriorFog) { + this.inheritFromPriorFog = inheritFromPriorFog; + } + + /** + * @return Remove All Prior Fog + */ + public boolean removeAllPriorFog() { + return this.removeAllPriorFog; + } + + /** + * @param removeAllPriorFog Remove All Prior Fog + */ + public void removeAllPriorFog(boolean removeAllPriorFog) { + this.removeAllPriorFog = removeAllPriorFog; + } + + /** + * The distance the water fog start at. + * + * @return Water Fog Distance + */ + public int waterFogDistance() { + return this.waterFogDistance; + } + + /** + * The distance the water fog start at. + * + * @param waterFogDistance Water Fog Distance + */ + public void waterFogDistance(int waterFogDistance) { + this.waterFogDistance = waterFogDistance; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @return Water Surface Transparency + */ + public float waterSurfaceTransparency() { + return this.waterSurfaceTransparency; + } + + /** + * The amount of transpareny the surface of the water has. + * + * @param waterSurfaceTransparency Water Surface Transparency + */ + public void waterSurfaceTransparency(float waterSurfaceTransparency) { + this.waterSurfaceTransparency = waterSurfaceTransparency; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/CarriedTextures.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/CarriedTextures.java new file mode 100644 index 0000000..1006eca --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/CarriedTextures.java @@ -0,0 +1,75 @@ +package org.geysermc.pack.bedrock.resource.blocks; + +import java.lang.String; + +public class CarriedTextures { + public String down; + + public String up; + + public String side; + + public String south; + + public String north; + + public String west; + + public String east; + + public String down() { + return this.down; + } + + public void down(String down) { + this.down = down; + } + + public String up() { + return this.up; + } + + public void up(String up) { + this.up = up; + } + + public String side() { + return this.side; + } + + public void side(String side) { + this.side = side; + } + + public String south() { + return this.south; + } + + public void south(String south) { + this.south = south; + } + + public String north() { + return this.north; + } + + public void north(String north) { + this.north = north; + } + + public String west() { + return this.west; + } + + public void west(String west) { + this.west = west; + } + + public String east() { + return this.east; + } + + public void east(String east) { + this.east = east; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/Isotropic.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/Isotropic.java new file mode 100644 index 0000000..6950017 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/Isotropic.java @@ -0,0 +1,73 @@ +package org.geysermc.pack.bedrock.resource.blocks; + +public class Isotropic { + public boolean down; + + public boolean up; + + public boolean side; + + public boolean south; + + public boolean north; + + public boolean west; + + public boolean east; + + public boolean down() { + return this.down; + } + + public void down(boolean down) { + this.down = down; + } + + public boolean up() { + return this.up; + } + + public void up(boolean up) { + this.up = up; + } + + public boolean side() { + return this.side; + } + + public void side(boolean side) { + this.side = side; + } + + public boolean south() { + return this.south; + } + + public void south(boolean south) { + this.south = south; + } + + public boolean north() { + return this.north; + } + + public void north(boolean north) { + this.north = north; + } + + public boolean west() { + return this.west; + } + + public void west(boolean west) { + this.west = west; + } + + public boolean east() { + return this.east; + } + + public void east(boolean east) { + this.east = east; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/Textures.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/Textures.java new file mode 100644 index 0000000..888e6ad --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/blocks/Textures.java @@ -0,0 +1,75 @@ +package org.geysermc.pack.bedrock.resource.blocks; + +import java.lang.String; + +public class Textures { + public String down; + + public String up; + + public String side; + + public String south; + + public String north; + + public String west; + + public String east; + + public String down() { + return this.down; + } + + public void down(String down) { + this.down = down; + } + + public String up() { + return this.up; + } + + public void up(String up) { + this.up = up; + } + + public String side() { + return this.side; + } + + public void side(String side) { + this.side = side; + } + + public String south() { + return this.south; + } + + public void south(String south) { + this.south = south; + } + + public String north() { + return this.north; + } + + public void north(String north) { + this.north = north; + } + + public String west() { + return this.west; + } + + public void west(String west) { + this.west = west; + } + + public String east() { + return this.east; + } + + public void east(String east) { + this.east = east; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/ClientEntity.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/ClientEntity.java new file mode 100644 index 0000000..7de0771 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/ClientEntity.java @@ -0,0 +1,30 @@ +package org.geysermc.pack.bedrock.resource.entity; + +import org.geysermc.pack.bedrock.resource.entity.cliententity.Description; + +/** + * Client Entity + *

+ * The entity description for clientside rendering, animations and models. + */ +public class ClientEntity { + public Description description; + + /** + * The entity description for clientside rendering, animations and models. + * + * @return Description + */ + public Description description() { + return this.description; + } + + /** + * The entity description for clientside rendering, animations and models. + * + * @param description Description + */ + public void description(Description description) { + this.description = description; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/Entity.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/Entity.java new file mode 100644 index 0000000..445aaca --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/Entity.java @@ -0,0 +1,53 @@ +package org.geysermc.pack.bedrock.resource.entity; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Actor Entity 1.10.0 + *

+ * A client side entity definition. + */ +public class Entity { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("minecraft:client_entity") + public ClientEntity clientEntity; + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The entity description for clientside rendering, animations and models. + * + * @return Client Entity + */ + public ClientEntity clientEntity() { + return this.clientEntity; + } + + /** + * The entity description for clientside rendering, animations and models. + * + * @param clientEntity Client Entity + */ + public void clientEntity(ClientEntity clientEntity) { + this.clientEntity = clientEntity; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/Description.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/Description.java new file mode 100644 index 0000000..db5c461 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/Description.java @@ -0,0 +1,341 @@ +package org.geysermc.pack.bedrock.resource.entity.cliententity; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.entity.cliententity.description.Scripts; +import org.geysermc.pack.bedrock.resource.entity.cliententity.description.SpawnEgg; + +/** + * Description + *

+ * The entity description for clientside rendering, animations and models. + */ +public class Description { + private Map animations = new HashMap<>(); + + @JsonProperty("enable_attachables") + public boolean enableAttachables; + + private Map geometry = new HashMap<>(); + + @JsonProperty("queryable_geometry") + public String queryableGeometry; + + @JsonProperty("hide_armor") + public boolean hideArmor; + + @JsonProperty("held_item_ignores_lighting") + public boolean heldItemIgnoresLighting; + + public String identifier; + + private Map materials = new HashMap<>(); + + @JsonProperty("min_engine_version") + public String minEngineVersion; + + @JsonProperty("particle_effects") + private Map particleEffects = new HashMap<>(); + + @JsonProperty("particle_emitters") + private Map particleEmitters = new HashMap<>(); + + @JsonProperty("render_controllers") + public String[] renderControllers; + + public Scripts scripts; + + @JsonProperty("sound_effects") + private Map soundEffects = new HashMap<>(); + + @JsonProperty("spawn_egg") + public SpawnEgg spawnEgg; + + private Map textures = new HashMap<>(); + + /** + * These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack. + * + * @return Animations + */ + public Map animations() { + return this.animations; + } + + /** + * These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack. + * + * @param animations Animations + */ + public void animations(Map animations) { + this.animations = animations; + } + + /** + * Whether or not attachables are enaboled. + * + * @return Enable Attachables + */ + public boolean enableAttachables() { + return this.enableAttachables; + } + + /** + * Whether or not attachables are enaboled. + * + * @param enableAttachables Enable Attachables + */ + public void enableAttachables(boolean enableAttachables) { + this.enableAttachables = enableAttachables; + } + + /** + * The reference to defined geometries in `/models/'. + * + * @return Geometry + */ + public Map geometry() { + return this.geometry; + } + + /** + * The reference to defined geometries in `/models/'. + * + * @param geometry Geometry + */ + public void geometry(Map geometry) { + this.geometry = geometry; + } + + /** + * @return Queryable Geometry + */ + public String queryableGeometry() { + return this.queryableGeometry; + } + + /** + * @param queryableGeometry Queryable Geometry + */ + public void queryableGeometry(String queryableGeometry) { + this.queryableGeometry = queryableGeometry; + } + + /** + * Hides or shows the possible armor. + * + * @return Hide Armor + */ + public boolean hideArmor() { + return this.hideArmor; + } + + /** + * Hides or shows the possible armor. + * + * @param hideArmor Hide Armor + */ + public void hideArmor(boolean hideArmor) { + this.hideArmor = hideArmor; + } + + /** + * This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting. + * + * @return Held Item Ignores Lighting + */ + public boolean heldItemIgnoresLighting() { + return this.heldItemIgnoresLighting; + } + + /** + * This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting. + * + * @param heldItemIgnoresLighting Held Item Ignores Lighting + */ + public void heldItemIgnoresLighting(boolean heldItemIgnoresLighting) { + this.heldItemIgnoresLighting = heldItemIgnoresLighting; + } + + /** + * The entity indentifier. + * + * @return Identifier + */ + public String identifier() { + return this.identifier; + } + + /** + * The entity indentifier. + * + * @param identifier Identifier + */ + public void identifier(String identifier) { + this.identifier = identifier; + } + + /** + * A collection of material definitions. + * + * @return Materials + */ + public Map materials() { + return this.materials; + } + + /** + * A collection of material definitions. + * + * @param materials Materials + */ + public void materials(Map materials) { + this.materials = materials; + } + + /** + * The minimum engine version to be used. + * + * @return Minimum Engine Version + */ + public String minEngineVersion() { + return this.minEngineVersion; + } + + /** + * The minimum engine version to be used. + * + * @param minEngineVersion Minimum Engine Version + */ + public void minEngineVersion(String minEngineVersion) { + this.minEngineVersion = minEngineVersion; + } + + /** + * A collection of particle definitions. + * + * @return Particle Effects + */ + public Map particleEffects() { + return this.particleEffects; + } + + /** + * A collection of particle definitions. + * + * @param particleEffects Particle Effects + */ + public void particleEffects(Map particleEffects) { + this.particleEffects = particleEffects; + } + + /** + * A collection of particle emitters definitions. + * + * @return Particle Emitters + */ + public Map particleEmitters() { + return this.particleEmitters; + } + + /** + * A collection of particle emitters definitions. + * + * @param particleEmitters Particle Emitters + */ + public void particleEmitters(Map particleEmitters) { + this.particleEmitters = particleEmitters; + } + + /** + * A collection of Render controller definitions. + * + * @return Render Controllers + */ + public String[] renderControllers() { + return this.renderControllers; + } + + /** + * A collection of Render controller definitions. + * + * @param renderControllers Render Controllers + */ + public void renderControllers(String[] renderControllers) { + this.renderControllers = renderControllers; + } + + /** + * The place where variables, and animations / controller to be run is specified. + * + * @return Scripts + */ + public Scripts scripts() { + return this.scripts; + } + + /** + * The place where variables, and animations / controller to be run is specified. + * + * @param scripts Scripts + */ + public void scripts(Scripts scripts) { + this.scripts = scripts; + } + + /** + * A collection of sound effect definition. + * + * @return Sound Effects + */ + public Map soundEffects() { + return this.soundEffects; + } + + /** + * A collection of sound effect definition. + * + * @param soundEffects Sound Effects + */ + public void soundEffects(Map soundEffects) { + this.soundEffects = soundEffects; + } + + /** + * The definition of how the spawn_egg icon looks like. + * + * @return Spawn Egg + */ + public SpawnEgg spawnEgg() { + return this.spawnEgg; + } + + /** + * The definition of how the spawn_egg icon looks like. + * + * @param spawnEgg Spawn Egg + */ + public void spawnEgg(SpawnEgg spawnEgg) { + this.spawnEgg = spawnEgg; + } + + /** + * A collection of references to textures in the resourcepack. + * + * @return Textures + */ + public Map textures() { + return this.textures; + } + + /** + * A collection of references to textures in the resourcepack. + * + * @param textures Textures + */ + public void textures(Map textures) { + this.textures = textures; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/description/Scripts.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/description/Scripts.java new file mode 100644 index 0000000..fa94328 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/description/Scripts.java @@ -0,0 +1,143 @@ +package org.geysermc.pack.bedrock.resource.entity.cliententity.description; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Scripts + *

+ * The place where variables, and animations / controller to be run is specified. + */ +public class Scripts { + private Map animate = new HashMap<>(); + + @JsonProperty("parent_setup") + public String parentSetup; + + public String scale; + + public String scalex; + + public String scaley; + + public String scalez; + + @JsonProperty("should_update_bones_and_effects_offscreen") + public String shouldUpdateBonesAndEffectsOffscreen; + + @JsonProperty("should_update_effects_offscreen") + public String shouldUpdateEffectsOffscreen; + + private Map variables = new HashMap<>(); + + /** + * The array of items to animate. + * + * @return Animate + */ + public Map animate() { + return this.animate; + } + + /** + * The array of items to animate. + * + * @param animate Animate + */ + public void animate(Map animate) { + this.animate = animate; + } + + /** + * @return Parent Setup + */ + public String parentSetup() { + return this.parentSetup; + } + + /** + * @param parentSetup Parent Setup + */ + public void parentSetup(String parentSetup) { + this.parentSetup = parentSetup; + } + + /** + * Scale sets the scale of the mob's geometry. + * + * @return Scale + */ + public String scale() { + return this.scale; + } + + /** + * Scale sets the scale of the mob's geometry. + * + * @param scale Scale + */ + public void scale(String scale) { + this.scale = scale; + } + + public String scalex() { + return this.scalex; + } + + public void scalex(String scalex) { + this.scalex = scalex; + } + + public String scaley() { + return this.scaley; + } + + public void scaley(String scaley) { + this.scaley = scaley; + } + + public String scalez() { + return this.scalez; + } + + public void scalez(String scalez) { + this.scalez = scalez; + } + + public String shouldUpdateBonesAndEffectsOffscreen() { + return this.shouldUpdateBonesAndEffectsOffscreen; + } + + public void shouldUpdateBonesAndEffectsOffscreen(String shouldUpdateBonesAndEffectsOffscreen) { + this.shouldUpdateBonesAndEffectsOffscreen = shouldUpdateBonesAndEffectsOffscreen; + } + + public String shouldUpdateEffectsOffscreen() { + return this.shouldUpdateEffectsOffscreen; + } + + public void shouldUpdateEffectsOffscreen(String shouldUpdateEffectsOffscreen) { + this.shouldUpdateEffectsOffscreen = shouldUpdateEffectsOffscreen; + } + + /** + * A list of variables that need certain settings applied to them. Currently, for the client, only `public` is supported. + * + * @return Variables + */ + public Map variables() { + return this.variables; + } + + /** + * A list of variables that need certain settings applied to them. Currently, for the client, only `public` is supported. + * + * @param variables Variables + */ + public void variables(Map variables) { + this.variables = variables; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/description/SpawnEgg.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/description/SpawnEgg.java new file mode 100644 index 0000000..7dd1264 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/entity/cliententity/description/SpawnEgg.java @@ -0,0 +1,94 @@ +package org.geysermc.pack.bedrock.resource.entity.cliententity.description; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Spawn Egg + *

+ * The definition of how the spawn_egg icon looks like. + */ +public class SpawnEgg { + @JsonProperty("base_color") + public String baseColor; + + @JsonProperty("overlay_color") + public String overlayColor; + + public String texture; + + @JsonProperty("texture_index") + public int textureIndex; + + /** + * The basic color of the egg. + * + * @return Base Color + */ + public String baseColor() { + return this.baseColor; + } + + /** + * The basic color of the egg. + * + * @param baseColor Base Color + */ + public void baseColor(String baseColor) { + this.baseColor = baseColor; + } + + /** + * The colors of the dots on the egg. + * + * @return Overlay Color + */ + public String overlayColor() { + return this.overlayColor; + } + + /** + * The colors of the dots on the egg. + * + * @param overlayColor Overlay Color + */ + public void overlayColor(String overlayColor) { + this.overlayColor = overlayColor; + } + + /** + * The texture reference in item_texture.json + * + * @return Texture + */ + public String texture() { + return this.texture; + } + + /** + * The texture reference in item_texture.json + * + * @param texture Texture + */ + public void texture(String texture) { + this.texture = texture; + } + + /** + * The index of the texture. + * + * @return Texture Index + */ + public int textureIndex() { + return this.textureIndex; + } + + /** + * The index of the texture. + * + * @param textureIndex Texture Index + */ + public void textureIndex(int textureIndex) { + this.textureIndex = textureIndex; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/Fog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/Fog.java new file mode 100644 index 0000000..9e13876 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/Fog.java @@ -0,0 +1,51 @@ +package org.geysermc.pack.bedrock.resource.fog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Fog + */ +public class Fog { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("minecraft:fog_settings") + public FogSettings fogSettings; + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The definition of a single fog. + * + * @return Fog Settings + */ + public FogSettings fogSettings() { + return this.fogSettings; + } + + /** + * The definition of a single fog. + * + * @param fogSettings Fog Settings + */ + public void fogSettings(FogSettings fogSettings) { + this.fogSettings = fogSettings; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/FogSettings.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/FogSettings.java new file mode 100644 index 0000000..b740589 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/FogSettings.java @@ -0,0 +1,72 @@ +package org.geysermc.pack.bedrock.resource.fog; + +import org.geysermc.pack.bedrock.resource.fog.fogsettings.Description; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.Distance; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.Volumetric; + +/** + * Fog Settings + *

+ * The definition of a single fog. + */ +public class FogSettings { + public Description description; + + public Distance distance; + + public Volumetric volumetric; + + /** + * The identifying description of this fog settings. + * + * @return Description + */ + public Description description() { + return this.description; + } + + /** + * The identifying description of this fog settings. + * + * @param description Description + */ + public void description(Description description) { + this.description = description; + } + + /** + * The distance fog settings for different camera locations. + * + * @return Distance + */ + public Distance distance() { + return this.distance; + } + + /** + * The distance fog settings for different camera locations. + * + * @param distance Distance + */ + public void distance(Distance distance) { + this.distance = distance; + } + + /** + * The volumetric fog settings. + * + * @return Volumetric + */ + public Volumetric volumetric() { + return this.volumetric; + } + + /** + * The volumetric fog settings. + * + * @param volumetric Volumetric + */ + public void volumetric(Volumetric volumetric) { + this.volumetric = volumetric; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Description.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Description.java new file mode 100644 index 0000000..d93f645 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Description.java @@ -0,0 +1,30 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings; + +import java.lang.String; + +/** + * Description + *

+ * The identifying description of this fog settings. + */ +public class Description { + public String identifier; + + /** + * The identifier for these fog settings. The identifier must include a namespace. + * + * @return Identifier + */ + public String identifier() { + return this.identifier; + } + + /** + * The identifier for these fog settings. The identifier must include a namespace. + * + * @param identifier Identifier + */ + public void identifier(String identifier) { + this.identifier = identifier; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Distance.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Distance.java new file mode 100644 index 0000000..ecf1261 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Distance.java @@ -0,0 +1,78 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.Air; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.Lava; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.LavaResistance; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.PowderSnow; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.Water; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.Weather; + +/** + * Distance + *

+ * The distance fog settings for different camera locations. + */ +public class Distance { + public Air air; + + public Weather weather; + + public Water water; + + public Lava lava; + + @JsonProperty("lava_resistance") + public LavaResistance lavaResistance; + + @JsonProperty("powder_snow") + public PowderSnow powderSnow; + + public Air air() { + return this.air; + } + + public void air(Air air) { + this.air = air; + } + + public Weather weather() { + return this.weather; + } + + public void weather(Weather weather) { + this.weather = weather; + } + + public Water water() { + return this.water; + } + + public void water(Water water) { + this.water = water; + } + + public Lava lava() { + return this.lava; + } + + public void lava(Lava lava) { + this.lava = lava; + } + + public LavaResistance lavaResistance() { + return this.lavaResistance; + } + + public void lavaResistance(LavaResistance lavaResistance) { + this.lavaResistance = lavaResistance; + } + + public PowderSnow powderSnow() { + return this.powderSnow; + } + + public void powderSnow(PowderSnow powderSnow) { + this.powderSnow = powderSnow; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Volumetric.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Volumetric.java new file mode 100644 index 0000000..36ad04d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/Volumetric.java @@ -0,0 +1,53 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.Density; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.MediaCoefficients; + +/** + * Volumetric + *

+ * The volumetric fog settings. + */ +public class Volumetric { + public Density density; + + @JsonProperty("media_coefficients") + public MediaCoefficients mediaCoefficients; + + /** + * The density settings for different camera locations. + * + * @return Density + */ + public Density density() { + return this.density; + } + + /** + * The density settings for different camera locations. + * + * @param density Density + */ + public void density(Density density) { + this.density = density; + } + + /** + * The coefficient settings for the volumetric fog in different blocks. + * + * @return Media Coefficients + */ + public MediaCoefficients mediaCoefficients() { + return this.mediaCoefficients; + } + + /** + * The coefficient settings for the volumetric fog in different blocks. + * + * @param mediaCoefficients Media Coefficients + */ + public void mediaCoefficients(MediaCoefficients mediaCoefficients) { + this.mediaCoefficients = mediaCoefficients; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Air.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Air.java new file mode 100644 index 0000000..9ced189 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Air.java @@ -0,0 +1,112 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.air.TransitionFog; + +public class Air { + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("render_distance_type") + public String renderDistanceType; + + @JsonProperty("transition_fog") + public TransitionFog transitionFog; + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @return Render Distance Type + */ + public String renderDistanceType() { + return this.renderDistanceType; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @param renderDistanceType Render Distance Type + */ + public void renderDistanceType(String renderDistanceType) { + this.renderDistanceType = renderDistanceType; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @return Transition Fog + */ + public TransitionFog transitionFog() { + return this.transitionFog; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @param transitionFog Transition Fog + */ + public void transitionFog(TransitionFog transitionFog) { + this.transitionFog = transitionFog; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Lava.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Lava.java new file mode 100644 index 0000000..3d37f49 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Lava.java @@ -0,0 +1,112 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lava.TransitionFog; + +public class Lava { + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("render_distance_type") + public String renderDistanceType; + + @JsonProperty("transition_fog") + public TransitionFog transitionFog; + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @return Render Distance Type + */ + public String renderDistanceType() { + return this.renderDistanceType; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @param renderDistanceType Render Distance Type + */ + public void renderDistanceType(String renderDistanceType) { + this.renderDistanceType = renderDistanceType; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @return Transition Fog + */ + public TransitionFog transitionFog() { + return this.transitionFog; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @param transitionFog Transition Fog + */ + public void transitionFog(TransitionFog transitionFog) { + this.transitionFog = transitionFog; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/LavaResistance.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/LavaResistance.java new file mode 100644 index 0000000..06b6eaa --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/LavaResistance.java @@ -0,0 +1,112 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lavaresistance.TransitionFog; + +public class LavaResistance { + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("render_distance_type") + public String renderDistanceType; + + @JsonProperty("transition_fog") + public TransitionFog transitionFog; + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @return Render Distance Type + */ + public String renderDistanceType() { + return this.renderDistanceType; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @param renderDistanceType Render Distance Type + */ + public void renderDistanceType(String renderDistanceType) { + this.renderDistanceType = renderDistanceType; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @return Transition Fog + */ + public TransitionFog transitionFog() { + return this.transitionFog; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @param transitionFog Transition Fog + */ + public void transitionFog(TransitionFog transitionFog) { + this.transitionFog = transitionFog; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/PowderSnow.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/PowderSnow.java new file mode 100644 index 0000000..22bd4e2 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/PowderSnow.java @@ -0,0 +1,112 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.powdersnow.TransitionFog; + +public class PowderSnow { + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("render_distance_type") + public String renderDistanceType; + + @JsonProperty("transition_fog") + public TransitionFog transitionFog; + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @return Render Distance Type + */ + public String renderDistanceType() { + return this.renderDistanceType; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @param renderDistanceType Render Distance Type + */ + public void renderDistanceType(String renderDistanceType) { + this.renderDistanceType = renderDistanceType; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @return Transition Fog + */ + public TransitionFog transitionFog() { + return this.transitionFog; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @param transitionFog Transition Fog + */ + public void transitionFog(TransitionFog transitionFog) { + this.transitionFog = transitionFog; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Water.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Water.java new file mode 100644 index 0000000..f9897c8 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Water.java @@ -0,0 +1,112 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.water.TransitionFog; + +public class Water { + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("render_distance_type") + public String renderDistanceType; + + @JsonProperty("transition_fog") + public TransitionFog transitionFog; + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @return Render Distance Type + */ + public String renderDistanceType() { + return this.renderDistanceType; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @param renderDistanceType Render Distance Type + */ + public void renderDistanceType(String renderDistanceType) { + this.renderDistanceType = renderDistanceType; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @return Transition Fog + */ + public TransitionFog transitionFog() { + return this.transitionFog; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @param transitionFog Transition Fog + */ + public void transitionFog(TransitionFog transitionFog) { + this.transitionFog = transitionFog; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Weather.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Weather.java new file mode 100644 index 0000000..1ad3be4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/Weather.java @@ -0,0 +1,112 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.weather.TransitionFog; + +public class Weather { + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("render_distance_type") + public String renderDistanceType; + + @JsonProperty("transition_fog") + public TransitionFog transitionFog; + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @return Render Distance Type + */ + public String renderDistanceType() { + return this.renderDistanceType; + } + + /** + * Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance. + * + * @param renderDistanceType Render Distance Type + */ + public void renderDistanceType(String renderDistanceType) { + this.renderDistanceType = renderDistanceType; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @return Transition Fog + */ + public TransitionFog transitionFog() { + return this.transitionFog; + } + + /** + * Additional fog data which will slowly transition to the distance fog of current biome. + * + * @param transitionFog Transition Fog + */ + public void transitionFog(TransitionFog transitionFog) { + this.transitionFog = transitionFog; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/air/TransitionFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/air/TransitionFog.java new file mode 100644 index 0000000..979ac18 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/air/TransitionFog.java @@ -0,0 +1,116 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.air; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.air.transitionfog.InitFog; + +/** + * Transition Fog + *

+ * Additional fog data which will slowly transition to the distance fog of current biome. + */ +public class TransitionFog { + @JsonProperty("init_fog") + public InitFog initFog; + + @JsonProperty("min_percent") + public float minPercent; + + @JsonProperty("mid_seconds") + public float midSeconds; + + @JsonProperty("mid_percent") + public float midPercent; + + @JsonProperty("max_seconds") + public float maxSeconds; + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @return Initial Fog + */ + public InitFog initFog() { + return this.initFog; + } + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @param initFog Initial Fog + */ + public void initFog(InitFog initFog) { + this.initFog = initFog; + } + + /** + * The minimum progress of fog transition. + * + * @return Minimum Percent + */ + public float minPercent() { + return this.minPercent; + } + + /** + * The minimum progress of fog transition. + * + * @param minPercent Minimum Percent + */ + public void minPercent(float minPercent) { + this.minPercent = minPercent; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @return Midpoint Seconds + */ + public float midSeconds() { + return this.midSeconds; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @param midSeconds Midpoint Seconds + */ + public void midSeconds(float midSeconds) { + this.midSeconds = midSeconds; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @return Midpoint Percent + */ + public float midPercent() { + return this.midPercent; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @param midPercent Midpoint Percent + */ + public void midPercent(float midPercent) { + this.midPercent = midPercent; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @return Maximum Seconds + */ + public float maxSeconds() { + return this.maxSeconds; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @param maxSeconds Maximum Seconds + */ + public void maxSeconds(float maxSeconds) { + this.maxSeconds = maxSeconds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/air/transitionfog/InitFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/air/transitionfog/InitFog.java new file mode 100644 index 0000000..de37634 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/air/transitionfog/InitFog.java @@ -0,0 +1,74 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.air.transitionfog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Initial Fog + *

+ * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + */ +public class InitFog { + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lava/TransitionFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lava/TransitionFog.java new file mode 100644 index 0000000..9fbd352 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lava/TransitionFog.java @@ -0,0 +1,116 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lava; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lava.transitionfog.InitFog; + +/** + * Transition Fog + *

+ * Additional fog data which will slowly transition to the distance fog of current biome. + */ +public class TransitionFog { + @JsonProperty("init_fog") + public InitFog initFog; + + @JsonProperty("min_percent") + public float minPercent; + + @JsonProperty("mid_seconds") + public float midSeconds; + + @JsonProperty("mid_percent") + public float midPercent; + + @JsonProperty("max_seconds") + public float maxSeconds; + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @return Initial Fog + */ + public InitFog initFog() { + return this.initFog; + } + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @param initFog Initial Fog + */ + public void initFog(InitFog initFog) { + this.initFog = initFog; + } + + /** + * The minimum progress of fog transition. + * + * @return Minimum Percent + */ + public float minPercent() { + return this.minPercent; + } + + /** + * The minimum progress of fog transition. + * + * @param minPercent Minimum Percent + */ + public void minPercent(float minPercent) { + this.minPercent = minPercent; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @return Midpoint Seconds + */ + public float midSeconds() { + return this.midSeconds; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @param midSeconds Midpoint Seconds + */ + public void midSeconds(float midSeconds) { + this.midSeconds = midSeconds; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @return Midpoint Percent + */ + public float midPercent() { + return this.midPercent; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @param midPercent Midpoint Percent + */ + public void midPercent(float midPercent) { + this.midPercent = midPercent; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @return Maximum Seconds + */ + public float maxSeconds() { + return this.maxSeconds; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @param maxSeconds Maximum Seconds + */ + public void maxSeconds(float maxSeconds) { + this.maxSeconds = maxSeconds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lava/transitionfog/InitFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lava/transitionfog/InitFog.java new file mode 100644 index 0000000..bdce727 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lava/transitionfog/InitFog.java @@ -0,0 +1,74 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lava.transitionfog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Initial Fog + *

+ * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + */ +public class InitFog { + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lavaresistance/TransitionFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lavaresistance/TransitionFog.java new file mode 100644 index 0000000..d8858c0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lavaresistance/TransitionFog.java @@ -0,0 +1,116 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lavaresistance; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lavaresistance.transitionfog.InitFog; + +/** + * Transition Fog + *

+ * Additional fog data which will slowly transition to the distance fog of current biome. + */ +public class TransitionFog { + @JsonProperty("init_fog") + public InitFog initFog; + + @JsonProperty("min_percent") + public float minPercent; + + @JsonProperty("mid_seconds") + public float midSeconds; + + @JsonProperty("mid_percent") + public float midPercent; + + @JsonProperty("max_seconds") + public float maxSeconds; + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @return Initial Fog + */ + public InitFog initFog() { + return this.initFog; + } + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @param initFog Initial Fog + */ + public void initFog(InitFog initFog) { + this.initFog = initFog; + } + + /** + * The minimum progress of fog transition. + * + * @return Minimum Percent + */ + public float minPercent() { + return this.minPercent; + } + + /** + * The minimum progress of fog transition. + * + * @param minPercent Minimum Percent + */ + public void minPercent(float minPercent) { + this.minPercent = minPercent; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @return Midpoint Seconds + */ + public float midSeconds() { + return this.midSeconds; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @param midSeconds Midpoint Seconds + */ + public void midSeconds(float midSeconds) { + this.midSeconds = midSeconds; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @return Midpoint Percent + */ + public float midPercent() { + return this.midPercent; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @param midPercent Midpoint Percent + */ + public void midPercent(float midPercent) { + this.midPercent = midPercent; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @return Maximum Seconds + */ + public float maxSeconds() { + return this.maxSeconds; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @param maxSeconds Maximum Seconds + */ + public void maxSeconds(float maxSeconds) { + this.maxSeconds = maxSeconds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lavaresistance/transitionfog/InitFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lavaresistance/transitionfog/InitFog.java new file mode 100644 index 0000000..7860293 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/lavaresistance/transitionfog/InitFog.java @@ -0,0 +1,74 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.lavaresistance.transitionfog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Initial Fog + *

+ * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + */ +public class InitFog { + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/powdersnow/TransitionFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/powdersnow/TransitionFog.java new file mode 100644 index 0000000..20c790f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/powdersnow/TransitionFog.java @@ -0,0 +1,116 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.powdersnow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.powdersnow.transitionfog.InitFog; + +/** + * Transition Fog + *

+ * Additional fog data which will slowly transition to the distance fog of current biome. + */ +public class TransitionFog { + @JsonProperty("init_fog") + public InitFog initFog; + + @JsonProperty("min_percent") + public float minPercent; + + @JsonProperty("mid_seconds") + public float midSeconds; + + @JsonProperty("mid_percent") + public float midPercent; + + @JsonProperty("max_seconds") + public float maxSeconds; + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @return Initial Fog + */ + public InitFog initFog() { + return this.initFog; + } + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @param initFog Initial Fog + */ + public void initFog(InitFog initFog) { + this.initFog = initFog; + } + + /** + * The minimum progress of fog transition. + * + * @return Minimum Percent + */ + public float minPercent() { + return this.minPercent; + } + + /** + * The minimum progress of fog transition. + * + * @param minPercent Minimum Percent + */ + public void minPercent(float minPercent) { + this.minPercent = minPercent; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @return Midpoint Seconds + */ + public float midSeconds() { + return this.midSeconds; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @param midSeconds Midpoint Seconds + */ + public void midSeconds(float midSeconds) { + this.midSeconds = midSeconds; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @return Midpoint Percent + */ + public float midPercent() { + return this.midPercent; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @param midPercent Midpoint Percent + */ + public void midPercent(float midPercent) { + this.midPercent = midPercent; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @return Maximum Seconds + */ + public float maxSeconds() { + return this.maxSeconds; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @param maxSeconds Maximum Seconds + */ + public void maxSeconds(float maxSeconds) { + this.maxSeconds = maxSeconds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/powdersnow/transitionfog/InitFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/powdersnow/transitionfog/InitFog.java new file mode 100644 index 0000000..22c9a6c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/powdersnow/transitionfog/InitFog.java @@ -0,0 +1,74 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.powdersnow.transitionfog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Initial Fog + *

+ * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + */ +public class InitFog { + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/water/TransitionFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/water/TransitionFog.java new file mode 100644 index 0000000..750403a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/water/TransitionFog.java @@ -0,0 +1,116 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.water; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.water.transitionfog.InitFog; + +/** + * Transition Fog + *

+ * Additional fog data which will slowly transition to the distance fog of current biome. + */ +public class TransitionFog { + @JsonProperty("init_fog") + public InitFog initFog; + + @JsonProperty("min_percent") + public float minPercent; + + @JsonProperty("mid_seconds") + public float midSeconds; + + @JsonProperty("mid_percent") + public float midPercent; + + @JsonProperty("max_seconds") + public float maxSeconds; + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @return Initial Fog + */ + public InitFog initFog() { + return this.initFog; + } + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @param initFog Initial Fog + */ + public void initFog(InitFog initFog) { + this.initFog = initFog; + } + + /** + * The minimum progress of fog transition. + * + * @return Minimum Percent + */ + public float minPercent() { + return this.minPercent; + } + + /** + * The minimum progress of fog transition. + * + * @param minPercent Minimum Percent + */ + public void minPercent(float minPercent) { + this.minPercent = minPercent; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @return Midpoint Seconds + */ + public float midSeconds() { + return this.midSeconds; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @param midSeconds Midpoint Seconds + */ + public void midSeconds(float midSeconds) { + this.midSeconds = midSeconds; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @return Midpoint Percent + */ + public float midPercent() { + return this.midPercent; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @param midPercent Midpoint Percent + */ + public void midPercent(float midPercent) { + this.midPercent = midPercent; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @return Maximum Seconds + */ + public float maxSeconds() { + return this.maxSeconds; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @param maxSeconds Maximum Seconds + */ + public void maxSeconds(float maxSeconds) { + this.maxSeconds = maxSeconds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/water/transitionfog/InitFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/water/transitionfog/InitFog.java new file mode 100644 index 0000000..b47664e --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/water/transitionfog/InitFog.java @@ -0,0 +1,74 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.water.transitionfog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Initial Fog + *

+ * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + */ +public class InitFog { + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/weather/TransitionFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/weather/TransitionFog.java new file mode 100644 index 0000000..08224a9 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/weather/TransitionFog.java @@ -0,0 +1,116 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.weather; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.weather.transitionfog.InitFog; + +/** + * Transition Fog + *

+ * Additional fog data which will slowly transition to the distance fog of current biome. + */ +public class TransitionFog { + @JsonProperty("init_fog") + public InitFog initFog; + + @JsonProperty("min_percent") + public float minPercent; + + @JsonProperty("mid_seconds") + public float midSeconds; + + @JsonProperty("mid_percent") + public float midPercent; + + @JsonProperty("max_seconds") + public float maxSeconds; + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @return Initial Fog + */ + public InitFog initFog() { + return this.initFog; + } + + /** + * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + * + * @param initFog Initial Fog + */ + public void initFog(InitFog initFog) { + this.initFog = initFog; + } + + /** + * The minimum progress of fog transition. + * + * @return Minimum Percent + */ + public float minPercent() { + return this.minPercent; + } + + /** + * The minimum progress of fog transition. + * + * @param minPercent Minimum Percent + */ + public void minPercent(float minPercent) { + this.minPercent = minPercent; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @return Midpoint Seconds + */ + public float midSeconds() { + return this.midSeconds; + } + + /** + * The time takes to reach certain progress('mid_percent') of fog transition. + * + * @param midSeconds Midpoint Seconds + */ + public void midSeconds(float midSeconds) { + this.midSeconds = midSeconds; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @return Midpoint Percent + */ + public float midPercent() { + return this.midPercent; + } + + /** + * The progress of fog transition after 'mid_seconds' seconds. + * + * @param midPercent Midpoint Percent + */ + public void midPercent(float midPercent) { + this.midPercent = midPercent; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @return Maximum Seconds + */ + public float maxSeconds() { + return this.maxSeconds; + } + + /** + * Total amount of time takes to complete fog transition. + * + * @param maxSeconds Maximum Seconds + */ + public void maxSeconds(float maxSeconds) { + this.maxSeconds = maxSeconds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/weather/transitionfog/InitFog.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/weather/transitionfog/InitFog.java new file mode 100644 index 0000000..dcef98c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/distance/weather/transitionfog/InitFog.java @@ -0,0 +1,74 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.distance.weather.transitionfog; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Initial Fog + *

+ * Initial fog that will slowly transition into water distance fog of the biome when player goes into water. + */ +public class InitFog { + @JsonProperty("fog_color") + public String fogColor; + + @JsonProperty("fog_start") + public float fogStart; + + @JsonProperty("fog_end") + public float fogEnd; + + /** + * The color that the fog will take on. + * + * @return Fog Color + */ + public String fogColor() { + return this.fogColor; + } + + /** + * The color that the fog will take on. + * + * @param fogColor Fog Color + */ + public void fogColor(String fogColor) { + this.fogColor = fogColor; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @return Fog Start + */ + public float fogStart() { + return this.fogStart; + } + + /** + * The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'. + * + * @param fogStart Fog Start + */ + public void fogStart(float fogStart) { + this.fogStart = fogStart; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @return Fog End + */ + public float fogEnd() { + return this.fogEnd; + } + + /** + * The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'. + * + * @param fogEnd Fog End + */ + public void fogEnd(float fogEnd) { + this.fogEnd = fogEnd; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/Density.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/Density.java new file mode 100644 index 0000000..b01a5bb --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/Density.java @@ -0,0 +1,55 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density.Air; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density.Lava; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density.LavaResistance; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density.Water; + +/** + * Density + *

+ * The density settings for different camera locations. + */ +public class Density { + public Air air; + + public Water water; + + public Lava lava; + + @JsonProperty("lava_resistance") + public LavaResistance lavaResistance; + + public Air air() { + return this.air; + } + + public void air(Air air) { + this.air = air; + } + + public Water water() { + return this.water; + } + + public void water(Water water) { + this.water = water; + } + + public Lava lava() { + return this.lava; + } + + public void lava(Lava lava) { + this.lava = lava; + } + + public LavaResistance lavaResistance() { + return this.lavaResistance; + } + + public void lavaResistance(LavaResistance lavaResistance) { + this.lavaResistance = lavaResistance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/MediaCoefficients.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/MediaCoefficients.java new file mode 100644 index 0000000..e592af8 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/MediaCoefficients.java @@ -0,0 +1,42 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric; + +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.mediacoefficients.Air; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.mediacoefficients.Cloud; +import org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.mediacoefficients.Water; + +/** + * Media Coefficients + *

+ * The coefficient settings for the volumetric fog in different blocks. + */ +public class MediaCoefficients { + public Air air; + + public Water water; + + public Cloud cloud; + + public Air air() { + return this.air; + } + + public void air(Air air) { + this.air = air; + } + + public Water water() { + return this.water; + } + + public void water(Water water) { + this.water = water; + } + + public Cloud cloud() { + return this.cloud; + } + + public void cloud(Cloud cloud) { + this.cloud = cloud; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Air.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Air.java new file mode 100644 index 0000000..961801e --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Air.java @@ -0,0 +1,88 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class Air { + @JsonProperty("max_density") + public float maxDensity; + + @JsonProperty("max_density_height") + public float maxDensityHeight; + + @JsonProperty("zero_density_height") + public float zeroDensityHeight; + + public boolean uniform; + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @return Maximum Density + */ + public float maxDensity() { + return this.maxDensity; + } + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @param maxDensity Maximum Density + */ + public void maxDensity(float maxDensity) { + this.maxDensity = maxDensity; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @return Maximum Density Height + */ + public float maxDensityHeight() { + return this.maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @param maxDensityHeight Maximum Density Height + */ + public void maxDensityHeight(float maxDensityHeight) { + this.maxDensityHeight = maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @return Zero Density Height + */ + public float zeroDensityHeight() { + return this.zeroDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @param zeroDensityHeight Zero Density Height + */ + public void zeroDensityHeight(float zeroDensityHeight) { + this.zeroDensityHeight = zeroDensityHeight; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @return Uniform + */ + public boolean uniform() { + return this.uniform; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @param uniform Uniform + */ + public void uniform(boolean uniform) { + this.uniform = uniform; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Lava.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Lava.java new file mode 100644 index 0000000..9d6fcec --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Lava.java @@ -0,0 +1,88 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class Lava { + @JsonProperty("max_density") + public float maxDensity; + + @JsonProperty("max_density_height") + public float maxDensityHeight; + + @JsonProperty("zero_density_height") + public float zeroDensityHeight; + + public boolean uniform; + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @return Maximum Density + */ + public float maxDensity() { + return this.maxDensity; + } + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @param maxDensity Maximum Density + */ + public void maxDensity(float maxDensity) { + this.maxDensity = maxDensity; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @return Maximum Density Height + */ + public float maxDensityHeight() { + return this.maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @param maxDensityHeight Maximum Density Height + */ + public void maxDensityHeight(float maxDensityHeight) { + this.maxDensityHeight = maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @return Zero Density Height + */ + public float zeroDensityHeight() { + return this.zeroDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @param zeroDensityHeight Zero Density Height + */ + public void zeroDensityHeight(float zeroDensityHeight) { + this.zeroDensityHeight = zeroDensityHeight; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @return Uniform + */ + public boolean uniform() { + return this.uniform; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @param uniform Uniform + */ + public void uniform(boolean uniform) { + this.uniform = uniform; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/LavaResistance.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/LavaResistance.java new file mode 100644 index 0000000..4d9ce78 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/LavaResistance.java @@ -0,0 +1,88 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class LavaResistance { + @JsonProperty("max_density") + public float maxDensity; + + @JsonProperty("max_density_height") + public float maxDensityHeight; + + @JsonProperty("zero_density_height") + public float zeroDensityHeight; + + public boolean uniform; + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @return Maximum Density + */ + public float maxDensity() { + return this.maxDensity; + } + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @param maxDensity Maximum Density + */ + public void maxDensity(float maxDensity) { + this.maxDensity = maxDensity; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @return Maximum Density Height + */ + public float maxDensityHeight() { + return this.maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @param maxDensityHeight Maximum Density Height + */ + public void maxDensityHeight(float maxDensityHeight) { + this.maxDensityHeight = maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @return Zero Density Height + */ + public float zeroDensityHeight() { + return this.zeroDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @param zeroDensityHeight Zero Density Height + */ + public void zeroDensityHeight(float zeroDensityHeight) { + this.zeroDensityHeight = zeroDensityHeight; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @return Uniform + */ + public boolean uniform() { + return this.uniform; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @param uniform Uniform + */ + public void uniform(boolean uniform) { + this.uniform = uniform; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Water.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Water.java new file mode 100644 index 0000000..5508f66 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/density/Water.java @@ -0,0 +1,88 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.density; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class Water { + @JsonProperty("max_density") + public float maxDensity; + + @JsonProperty("max_density_height") + public float maxDensityHeight; + + @JsonProperty("zero_density_height") + public float zeroDensityHeight; + + public boolean uniform; + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @return Maximum Density + */ + public float maxDensity() { + return this.maxDensity; + } + + /** + * The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0]. + * + * @param maxDensity Maximum Density + */ + public void maxDensity(float maxDensity) { + this.maxDensity = maxDensity; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @return Maximum Density Height + */ + public float maxDensityHeight() { + return this.maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will become it's maximum density. + * + * @param maxDensityHeight Maximum Density Height + */ + public void maxDensityHeight(float maxDensityHeight) { + this.maxDensityHeight = maxDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @return Zero Density Height + */ + public float zeroDensityHeight() { + return this.zeroDensityHeight; + } + + /** + * The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`. + * + * @param zeroDensityHeight Zero Density Height + */ + public void zeroDensityHeight(float zeroDensityHeight) { + this.zeroDensityHeight = zeroDensityHeight; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @return Uniform + */ + public boolean uniform() { + return this.uniform; + } + + /** + * When set to true, the density will be uniform across all heights. + * + * @param uniform Uniform + */ + public void uniform(boolean uniform) { + this.uniform = uniform; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Air.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Air.java new file mode 100644 index 0000000..db94fac --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Air.java @@ -0,0 +1,23 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.mediacoefficients; + +public class Air { + public float[] absorption; + + public float[] scattering; + + public float[] absorption() { + return this.absorption; + } + + public void absorption(float[] absorption) { + this.absorption = absorption; + } + + public float[] scattering() { + return this.scattering; + } + + public void scattering(float[] scattering) { + this.scattering = scattering; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Cloud.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Cloud.java new file mode 100644 index 0000000..647fa70 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Cloud.java @@ -0,0 +1,23 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.mediacoefficients; + +public class Cloud { + public float[] absorption; + + public float[] scattering; + + public float[] absorption() { + return this.absorption; + } + + public void absorption(float[] absorption) { + this.absorption = absorption; + } + + public float[] scattering() { + return this.scattering; + } + + public void scattering(float[] scattering) { + this.scattering = scattering; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Water.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Water.java new file mode 100644 index 0000000..296af4c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/fog/fogsettings/volumetric/mediacoefficients/Water.java @@ -0,0 +1,23 @@ +package org.geysermc.pack.bedrock.resource.fog.fogsettings.volumetric.mediacoefficients; + +public class Water { + public float[] absorption; + + public float[] scattering; + + public float[] absorption() { + return this.absorption; + } + + public void absorption(float[] absorption) { + this.absorption = absorption; + } + + public float[] scattering() { + return this.scattering; + } + + public void scattering(float[] scattering) { + this.scattering = scattering; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/Item.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/Item.java new file mode 100644 index 0000000..911ed45 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/Item.java @@ -0,0 +1,51 @@ +package org.geysermc.pack.bedrock.resource.items; + +import org.geysermc.pack.bedrock.resource.items.item.Components; +import org.geysermc.pack.bedrock.resource.items.item.Description; + +/** + * Item + *

+ * A resource pack definition of an item. + */ +public class Item { + public Description description; + + public Components components; + + /** + * The description of an item. + * + * @return Description + */ + public Description description() { + return this.description; + } + + /** + * The description of an item. + * + * @param description Description + */ + public void description(Description description) { + this.description = description; + } + + /** + * The components that describe this item. + * + * @return Components + */ + public Components components() { + return this.components; + } + + /** + * The components that describe this item. + * + * @param components Components + */ + public void components(Components components) { + this.components = components; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/Items.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/Items.java new file mode 100644 index 0000000..bec49fe --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/Items.java @@ -0,0 +1,53 @@ +package org.geysermc.pack.bedrock.resource.items; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Item + *

+ * Minecraft items 1.10.0 + */ +public class Items { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("minecraft:item") + public Item item; + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * A resource pack definition of an item. + * + * @return Item + */ + public Item item() { + return this.item; + } + + /** + * A resource pack definition of an item. + * + * @param item Item + */ + public void item(Item item) { + this.item = item; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/item/Components.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/item/Components.java new file mode 100644 index 0000000..56ad88b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/item/Components.java @@ -0,0 +1,53 @@ +package org.geysermc.pack.bedrock.resource.items.item; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Components + *

+ * The components that describe this item. + */ +public class Components { + @JsonProperty("minecraft:icon") + public String icon; + + @JsonProperty("minecraft:render_offsets") + public String renderOffsets; + + /** + * The texture defined in `textures/item_texture.json` + * + * @return Icon + */ + public String icon() { + return this.icon; + } + + /** + * The texture defined in `textures/item_texture.json` + * + * @param icon Icon + */ + public void icon(String icon) { + this.icon = icon; + } + + /** + * The render offset used for the item. + * + * @return Render Offsets + */ + public String renderOffsets() { + return this.renderOffsets; + } + + /** + * The render offset used for the item. + * + * @param renderOffsets Render Offsets + */ + public void renderOffsets(String renderOffsets) { + this.renderOffsets = renderOffsets; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/item/Description.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/item/Description.java new file mode 100644 index 0000000..fc1196b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/items/item/Description.java @@ -0,0 +1,50 @@ +package org.geysermc.pack.bedrock.resource.items.item; + +import java.lang.String; + +/** + * Description + *

+ * The description of an item. + */ +public class Description { + public String identifier; + + public String category; + + /** + * A minecraft item identifier. + * + * @return Item Identifier + */ + public String identifier() { + return this.identifier; + } + + /** + * A minecraft item identifier. + * + * @param identifier Item Identifier + */ + public void identifier(String identifier) { + this.identifier = identifier; + } + + /** + * The category this item belongs in. + * + * @return Category + */ + public String category() { + return this.category; + } + + /** + * The category this item belongs in. + * + * @param category Category + */ + public void category(String category) { + this.category = category; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Capabilities.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Capabilities.java new file mode 100644 index 0000000..c62fa05 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Capabilities.java @@ -0,0 +1,71 @@ +package org.geysermc.pack.bedrock.resource.manifest; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Capabilities + *

+ * These are the different features that the pack makes use of that aren't necessarily enabled by default. + */ +public class Capabilities { + @JsonProperty("experimental_custom_ui") + public boolean experimentalCustomUi; + + public boolean chemistry; + + public boolean raytraced; + + /** + * Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI. + * + * @return Experimental Custom Ui + */ + public boolean experimentalCustomUi() { + return this.experimentalCustomUi; + } + + /** + * Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI. + * + * @param experimentalCustomUi Experimental Custom Ui + */ + public void experimentalCustomUi(boolean experimentalCustomUi) { + this.experimentalCustomUi = experimentalCustomUi; + } + + /** + * Allows the pack to add, change or replace Chemistry functionality. + * + * @return Chemistry + */ + public boolean chemistry() { + return this.chemistry; + } + + /** + * Allows the pack to add, change or replace Chemistry functionality. + * + * @param chemistry Chemistry + */ + public void chemistry(boolean chemistry) { + this.chemistry = chemistry; + } + + /** + * Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering. + * + * @return Raytraced + */ + public boolean raytraced() { + return this.raytraced; + } + + /** + * Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering. + * + * @param raytraced Raytraced + */ + public void raytraced(boolean raytraced) { + this.raytraced = raytraced; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Dependencies.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Dependencies.java new file mode 100644 index 0000000..d762e1a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Dependencies.java @@ -0,0 +1,50 @@ +package org.geysermc.pack.bedrock.resource.manifest; + +import java.lang.String; + +/** + * Dependency + *

+ * Section containing definitions for any other packs that are required in order for this manifest.json file to work. + */ +public class Dependencies { + public String uuid; + + public float[] version; + + /** + * This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file + * + * @return Uuid + */ + public String uuid() { + return this.uuid; + } + + /** + * This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file + * + * @param uuid Uuid + */ + public void uuid(String uuid) { + this.uuid = uuid; + } + + /** + * A version made of 3 numbers. + * + * @return Version Numbering + */ + public float[] version() { + return this.version; + } + + /** + * A version made of 3 numbers. + * + * @param version Version Numbering + */ + public void version(float[] version) { + this.version = version; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Header.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Header.java new file mode 100644 index 0000000..fdc781a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Header.java @@ -0,0 +1,154 @@ +package org.geysermc.pack.bedrock.resource.manifest; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Header + *

+ * Section containing information regarding the name of the pack, description, and other features that are public facing. + */ +public class Header { + @JsonProperty("base_game_version") + public float[] baseGameVersion; + + public String description; + + @JsonProperty("lock_template_options") + public boolean lockTemplateOptions; + + @JsonProperty("min_engine_version") + public float[] minEngineVersion; + + public String name; + + public String uuid; + + public float[] version; + + /** + * A version made of 3 numbers. + * + * @return Version Numbering + */ + public float[] baseGameVersion() { + return this.baseGameVersion; + } + + /** + * A version made of 3 numbers. + * + * @param baseGameVersion Version Numbering + */ + public void baseGameVersion(float[] baseGameVersion) { + this.baseGameVersion = baseGameVersion; + } + + /** + * This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines. + * + * @return Description + */ + public String description() { + return this.description; + } + + /** + * This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines. + * + * @param description Description + */ + public void description(String description) { + this.description = description; + } + + /** + * This option is required for any world templates. This will lock the player from modifying the options of the world. + * + * @return Lock Template Options + */ + public boolean lockTemplateOptions() { + return this.lockTemplateOptions; + } + + /** + * This option is required for any world templates. This will lock the player from modifying the options of the world. + * + * @param lockTemplateOptions Lock Template Options + */ + public void lockTemplateOptions(boolean lockTemplateOptions) { + this.lockTemplateOptions = lockTemplateOptions; + } + + /** + * A version made of 3 numbers. + * + * @return Version Numbering + */ + public float[] minEngineVersion() { + return this.minEngineVersion; + } + + /** + * A version made of 3 numbers. + * + * @param minEngineVersion Version Numbering + */ + public void minEngineVersion(float[] minEngineVersion) { + this.minEngineVersion = minEngineVersion; + } + + /** + * This is the name of the pack as it appears within Minecraft. This is a required field. + * + * @return Name + */ + public String name() { + return this.name; + } + + /** + * This is the name of the pack as it appears within Minecraft. This is a required field. + * + * @param name Name + */ + public void name(String name) { + this.name = name; + } + + /** + * A valid UUID v4. + * + * @return An UUID V4 + */ + public String uuid() { + return this.uuid; + } + + /** + * A valid UUID v4. + * + * @param uuid An UUID V4 + */ + public void uuid(String uuid) { + this.uuid = uuid; + } + + /** + * A version made of 3 numbers. + * + * @return Version Numbering + */ + public float[] version() { + return this.version; + } + + /** + * A version made of 3 numbers. + * + * @param version Version Numbering + */ + public void version(float[] version) { + this.version = version; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Metadata.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Metadata.java new file mode 100644 index 0000000..24cd20f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Metadata.java @@ -0,0 +1,94 @@ +package org.geysermc.pack.bedrock.resource.manifest; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Metadata + *

+ * Section containing the metadata about the file such as authors and licensing information. + */ +public class Metadata { + public String[] authors; + + public String license; + + public String url; + + @JsonProperty("generated_with") + private Map generatedWith = new HashMap<>(); + + /** + * Name of the author(s) of the pack. + * + * @return Authors + */ + public String[] authors() { + return this.authors; + } + + /** + * Name of the author(s) of the pack. + * + * @param authors Authors + */ + public void authors(String[] authors) { + this.authors = authors; + } + + /** + * The license of the pack. + * + * @return License + */ + public String license() { + return this.license; + } + + /** + * The license of the pack. + * + * @param license License + */ + public void license(String license) { + this.license = license; + } + + /** + * The home website of your pack. + * + * @return Url + */ + public String url() { + return this.url; + } + + /** + * The home website of your pack. + * + * @param url Url + */ + public void url(String url) { + this.url = url; + } + + /** + * A list of tools and their version that have modified this pack. + * + * @return Generated With + */ + public Map generatedWith() { + return this.generatedWith; + } + + /** + * A list of tools and their version that have modified this pack. + * + * @param generatedWith Generated With + */ + public void generatedWith(Map generatedWith) { + this.generatedWith = generatedWith; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Modules.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Modules.java new file mode 100644 index 0000000..27285f8 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Modules.java @@ -0,0 +1,130 @@ +package org.geysermc.pack.bedrock.resource.manifest; + +import java.lang.String; + +/** + * Module + *

+ * Section containing information regarding the type of content that is being brought in. + */ +public class Modules { + public String description; + + public String type; + + public String language; + + public String uuid; + + public float[] version; + + public String entry; + + /** + * This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined + * + * @return Description + */ + public String description() { + return this.description; + } + + /** + * This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined + * + * @param description Description + */ + public void description(String description) { + this.description = description; + } + + /** + * This is the type of the module. + * + * @return Type + */ + public String type() { + return this.type; + } + + /** + * This is the type of the module. + * + * @param type Type + */ + public void type(String type) { + this.type = type; + } + + /** + * The programming language to use. + * + * @return Language + */ + public String language() { + return this.language; + } + + /** + * The programming language to use. + * + * @param language Language + */ + public void language(String language) { + this.language = language; + } + + /** + * A valid UUID v4. + * + * @return An UUID V4 + */ + public String uuid() { + return this.uuid; + } + + /** + * A valid UUID v4. + * + * @param uuid An UUID V4 + */ + public void uuid(String uuid) { + this.uuid = uuid; + } + + /** + * A version made of 3 numbers. + * + * @return Version Numbering + */ + public float[] version() { + return this.version; + } + + /** + * A version made of 3 numbers. + * + * @param version Version Numbering + */ + public void version(float[] version) { + this.version = version; + } + + /** + * The javascript entry point for tests, only works if types has been set to `javascript`. + * + * @return Entry + */ + public String entry() { + return this.entry; + } + + /** + * The javascript entry point for tests, only works if types has been set to `javascript`. + * + * @param entry Entry + */ + public void entry(String entry) { + this.entry = entry; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Subpacks.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Subpacks.java new file mode 100644 index 0000000..54d9daf --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/manifest/Subpacks.java @@ -0,0 +1,73 @@ +package org.geysermc.pack.bedrock.resource.manifest; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Subpacks + *

+ * A single definition of a subpack. + */ +public class Subpacks { + @JsonProperty("folder_name") + public String folderName; + + public String name; + + @JsonProperty("memory_tier") + public float memoryTier; + + /** + * This represents the folder name located in "subpacks" folder. When user select this resolution Minecraft loads the content inside the folder. + * + * @return Folder Name + */ + public String folderName() { + return this.folderName; + } + + /** + * This represents the folder name located in "subpacks" folder. When user select this resolution Minecraft loads the content inside the folder. + * + * @param folderName Folder Name + */ + public void folderName(String folderName) { + this.folderName = folderName; + } + + /** + * This is the name of the pack resolution. This lets user know what resolution they are choosing. + * + * @return Name + */ + public String name() { + return this.name; + } + + /** + * This is the name of the pack resolution. This lets user know what resolution they are choosing. + * + * @param name Name + */ + public void name(String name) { + this.name = name; + } + + /** + * This creates a requirement on the capacity of memory needed to select the resolution. Each tier increases memory requirement by 256 MB. + * + * @return Memory Tier + */ + public float memoryTier() { + return this.memoryTier; + } + + /** + * This creates a requirement on the capacity of memory needed to select the resolution. Each tier increases memory requirement by 256 MB. + * + * @param memoryTier Memory Tier + */ + public void memoryTier(float memoryTier) { + this.memoryTier = memoryTier; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/BackFace.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/BackFace.java new file mode 100644 index 0000000..36dce02 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/BackFace.java @@ -0,0 +1,88 @@ +package org.geysermc.pack.bedrock.resource.materials; + +import java.lang.String; + +/** + * Face + */ +public class BackFace { + public String stencilDepthFailOp; + + public String stencilFailOp; + + public String stencilFunc; + + public String stencilPass; + + public String stencilPassOp; + + /** + * @return Stencil Depth Fail Operation + */ + public String stencilDepthFailOp() { + return this.stencilDepthFailOp; + } + + /** + * @param stencilDepthFailOp Stencil Depth Fail Operation + */ + public void stencilDepthFailOp(String stencilDepthFailOp) { + this.stencilDepthFailOp = stencilDepthFailOp; + } + + /** + * @return Stencil Fail Operation + */ + public String stencilFailOp() { + return this.stencilFailOp; + } + + /** + * @param stencilFailOp Stencil Fail Operation + */ + public void stencilFailOp(String stencilFailOp) { + this.stencilFailOp = stencilFailOp; + } + + /** + * @return Stencil Function + */ + public String stencilFunc() { + return this.stencilFunc; + } + + /** + * @param stencilFunc Stencil Function + */ + public void stencilFunc(String stencilFunc) { + this.stencilFunc = stencilFunc; + } + + /** + * @return Stencil Pass + */ + public String stencilPass() { + return this.stencilPass; + } + + /** + * @param stencilPass Stencil Pass + */ + public void stencilPass(String stencilPass) { + this.stencilPass = stencilPass; + } + + /** + * @return Stencil Depth Fail Operation + */ + public String stencilPassOp() { + return this.stencilPassOp; + } + + /** + * @param stencilPassOp Stencil Depth Fail Operation + */ + public void stencilPassOp(String stencilPassOp) { + this.stencilPassOp = stencilPassOp; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/FrontFace.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/FrontFace.java new file mode 100644 index 0000000..4cfd936 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/FrontFace.java @@ -0,0 +1,88 @@ +package org.geysermc.pack.bedrock.resource.materials; + +import java.lang.String; + +/** + * Face + */ +public class FrontFace { + public String stencilDepthFailOp; + + public String stencilFailOp; + + public String stencilFunc; + + public String stencilPass; + + public String stencilPassOp; + + /** + * @return Stencil Depth Fail Operation + */ + public String stencilDepthFailOp() { + return this.stencilDepthFailOp; + } + + /** + * @param stencilDepthFailOp Stencil Depth Fail Operation + */ + public void stencilDepthFailOp(String stencilDepthFailOp) { + this.stencilDepthFailOp = stencilDepthFailOp; + } + + /** + * @return Stencil Fail Operation + */ + public String stencilFailOp() { + return this.stencilFailOp; + } + + /** + * @param stencilFailOp Stencil Fail Operation + */ + public void stencilFailOp(String stencilFailOp) { + this.stencilFailOp = stencilFailOp; + } + + /** + * @return Stencil Function + */ + public String stencilFunc() { + return this.stencilFunc; + } + + /** + * @param stencilFunc Stencil Function + */ + public void stencilFunc(String stencilFunc) { + this.stencilFunc = stencilFunc; + } + + /** + * @return Stencil Pass + */ + public String stencilPass() { + return this.stencilPass; + } + + /** + * @param stencilPass Stencil Pass + */ + public void stencilPass(String stencilPass) { + this.stencilPass = stencilPass; + } + + /** + * @return Stencil Depth Fail Operation + */ + public String stencilPassOp() { + return this.stencilPassOp; + } + + /** + * @param stencilPassOp Stencil Depth Fail Operation + */ + public void stencilPassOp(String stencilPassOp) { + this.stencilPassOp = stencilPassOp; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/Materials.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/Materials.java new file mode 100644 index 0000000..66fdbb0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/Materials.java @@ -0,0 +1,32 @@ +package org.geysermc.pack.bedrock.resource.materials; + +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Material + *

+ * A collection of material specifications for the render engine of minecraft. + */ +public class Materials { + private Map materials = new HashMap<>(); + + /** + * The collection of materials, each property key is the identification key of the material, and what it implements if : are used. + * + * @return Materials + */ + public Map materials() { + return this.materials; + } + + /** + * The collection of materials, each property key is the identification key of the material, and what it implements if : are used. + * + * @param materials Materials + */ + public void materials(Map materials) { + this.materials = materials; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/PlusSamplerstates.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/PlusSamplerstates.java new file mode 100644 index 0000000..264452c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/PlusSamplerstates.java @@ -0,0 +1,56 @@ +package org.geysermc.pack.bedrock.resource.materials; + +import java.lang.String; + +/** + * Sample State + */ +public class PlusSamplerstates { + public int samplerIndex; + + public String textureFilter; + + public String textureWrap; + + /** + * @return Sample State + */ + public int samplerIndex() { + return this.samplerIndex; + } + + /** + * @param samplerIndex Sample State + */ + public void samplerIndex(int samplerIndex) { + this.samplerIndex = samplerIndex; + } + + /** + * @return Texture Filter + */ + public String textureFilter() { + return this.textureFilter; + } + + /** + * @param textureFilter Texture Filter + */ + public void textureFilter(String textureFilter) { + this.textureFilter = textureFilter; + } + + /** + * @return Texture Wrap + */ + public String textureWrap() { + return this.textureWrap; + } + + /** + * @param textureWrap Texture Wrap + */ + public void textureWrap(String textureWrap) { + this.textureWrap = textureWrap; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/SamplerStates.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/SamplerStates.java new file mode 100644 index 0000000..f51d280 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/SamplerStates.java @@ -0,0 +1,56 @@ +package org.geysermc.pack.bedrock.resource.materials; + +import java.lang.String; + +/** + * Sample State + */ +public class SamplerStates { + public int samplerIndex; + + public String textureFilter; + + public String textureWrap; + + /** + * @return Sample State + */ + public int samplerIndex() { + return this.samplerIndex; + } + + /** + * @param samplerIndex Sample State + */ + public void samplerIndex(int samplerIndex) { + this.samplerIndex = samplerIndex; + } + + /** + * @return Texture Filter + */ + public String textureFilter() { + return this.textureFilter; + } + + /** + * @param textureFilter Texture Filter + */ + public void textureFilter(String textureFilter) { + this.textureFilter = textureFilter; + } + + /** + * @return Texture Wrap + */ + public String textureWrap() { + return this.textureWrap; + } + + /** + * @param textureWrap Texture Wrap + */ + public void textureWrap(String textureWrap) { + this.textureWrap = textureWrap; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/VertexFields.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/VertexFields.java new file mode 100644 index 0000000..969772f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/materials/VertexFields.java @@ -0,0 +1,24 @@ +package org.geysermc.pack.bedrock.resource.materials; + +import java.lang.String; + +/** + * Vertex Field + */ +public class VertexFields { + public String field; + + /** + * @return Vertex Field + */ + public String field() { + return this.field; + } + + /** + * @param field Vertex Field + */ + public void field(String field) { + this.field = field; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/ModelEntity.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/ModelEntity.java new file mode 100644 index 0000000..4043230 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/ModelEntity.java @@ -0,0 +1,72 @@ +package org.geysermc.pack.bedrock.resource.models.entity; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.ArrayList; +import java.util.List; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.Geometry; + +/** + * Geometry 1.16.0 + *

+ * The minecraft resourcepack model schema for 1.16.0 + */ +public class ModelEntity { + public boolean debug; + + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("minecraft:geometry") + public List geometry = new ArrayList<>(); + + /** + * @return Debug + */ + public boolean debug() { + return this.debug; + } + + /** + * @param debug Debug + */ + public void debug(boolean debug) { + this.debug = debug; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The collection of geometries. + * + * @return Geometry + */ + public List geometry() { + return this.geometry; + } + + /** + * The collection of geometries. + * + * @param geometry Geometry + */ + public void geometry(List geometry) { + this.geometry = geometry; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/Geometry.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/Geometry.java new file mode 100644 index 0000000..d194480 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/Geometry.java @@ -0,0 +1,70 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity; + +import java.lang.String; +import java.util.ArrayList; +import java.util.List; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.Bones; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.Description; + +/** + * Model + *

+ * Model specification. + */ +public class Geometry { + public Description description; + + public List bones = new ArrayList<>(); + + public String cape; + + /** + * The descriptions of the geometry. + * + * @return Description + */ + public Description description() { + return this.description; + } + + /** + * The descriptions of the geometry. + * + * @param description Description + */ + public void description(Description description) { + this.description = description; + } + + /** + * Bones define the `skeleton` of the mob: the parts that can be animated, and to which geometry and other bones are attached. + * + * @return Bones + */ + public List bones() { + return this.bones; + } + + /** + * Bones define the `skeleton` of the mob: the parts that can be animated, and to which geometry and other bones are attached. + * + * @param bones Bones + */ + public void bones(List bones) { + this.bones = bones; + } + + /** + * @return Cape + */ + public String cape() { + return this.cape; + } + + /** + * @param cape Cape + */ + public void cape(String cape) { + this.cape = cape; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/Bones.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/Bones.java new file mode 100644 index 0000000..0046c06 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/Bones.java @@ -0,0 +1,248 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.Cubes; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.PolyMesh; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.TextureMeshes; + +/** + * A bones specification. + */ +public class Bones { + public String binding; + + public List cubes = new ArrayList<>(); + + public boolean debug; + + public float inflate; + + private Map locators = new HashMap<>(); + + public boolean mirror; + + public String name; + + public String parent; + + public float[] pivot; + + @JsonProperty("poly_mesh") + public PolyMesh polyMesh; + + @JsonProperty("render_group_id") + public int renderGroupId; + + public float[] rotation; + + @JsonProperty("texture_meshes") + public List textureMeshes = new ArrayList<>(); + + /** + * Molang definition. + * + * @return Molang + */ + public String binding() { + return this.binding; + } + + /** + * Molang definition. + * + * @param binding Molang + */ + public void binding(String binding) { + this.binding = binding; + } + + /** + * This is the list of cubes associated with this bone. + * + * @return Cubes + */ + public List cubes() { + return this.cubes; + } + + /** + * This is the list of cubes associated with this bone. + * + * @param cubes Cubes + */ + public void cubes(List cubes) { + this.cubes = cubes; + } + + public boolean debug() { + return this.debug; + } + + public void debug(boolean debug) { + this.debug = debug; + } + + /** + * Grow this box by this additive amount in all directions (in model space units). + */ + public float inflate() { + return this.inflate; + } + + /** + * Grow this box by this additive amount in all directions (in model space units). + */ + public void inflate(float inflate) { + this.inflate = inflate; + } + + /** + * This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation). + */ + public Map locators() { + return this.locators; + } + + /** + * This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation). + */ + public void locators(Map locators) { + this.locators = locators; + } + + /** + * Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped. + * + * @return Mirror + */ + public boolean mirror() { + return this.mirror; + } + + /** + * Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped. + * + * @param mirror Mirror + */ + public void mirror(boolean mirror) { + this.mirror = mirror; + } + + /** + * Animation files refer to this bone via this identifier. + * + * @return Name + */ + public String name() { + return this.name; + } + + /** + * Animation files refer to this bone via this identifier. + * + * @param name Name + */ + public void name(String name) { + this.name = name; + } + + /** + * Bone that this bone is relative to. If the parent bone moves, this bone will move along with it. + * + * @return Parent + */ + public String parent() { + return this.parent; + } + + /** + * Bone that this bone is relative to. If the parent bone moves, this bone will move along with it. + * + * @param parent Parent + */ + public void parent(String parent) { + this.parent = parent; + } + + /** + * The bone pivots around this point (in model space units). + * + * @return Pivot + */ + public float[] pivot() { + return this.pivot; + } + + /** + * The bone pivots around this point (in model space units). + * + * @param pivot Pivot + */ + public void pivot(float[] pivot) { + this.pivot = pivot; + } + + /** + * ***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry. + */ + public PolyMesh polyMesh() { + return this.polyMesh; + } + + /** + * ***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry. + */ + public void polyMesh(PolyMesh polyMesh) { + this.polyMesh = polyMesh; + } + + public int renderGroupId() { + return this.renderGroupId; + } + + public void renderGroupId(int renderGroupId) { + this.renderGroupId = renderGroupId; + } + + /** + * This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order). + * + * @return Rotation + */ + public float[] rotation() { + return this.rotation; + } + + /** + * This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order). + * + * @param rotation Rotation + */ + public void rotation(float[] rotation) { + this.rotation = rotation; + } + + /** + * ***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes. + * + * @return Texture Meshes + */ + public List textureMeshes() { + return this.textureMeshes; + } + + /** + * ***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes. + * + * @param textureMeshes Texture Meshes + */ + public void textureMeshes(List textureMeshes) { + this.textureMeshes = textureMeshes; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/Description.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/Description.java new file mode 100644 index 0000000..f18cfa1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/Description.java @@ -0,0 +1,136 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Description + *

+ * The descriptions of the geometry. + */ +public class Description { + public String identifier; + + @JsonProperty("texture_width") + public float textureWidth; + + @JsonProperty("texture_height") + public float textureHeight; + + @JsonProperty("visible_bounds_offset") + public float[] visibleBoundsOffset; + + @JsonProperty("visible_bounds_width") + public float visibleBoundsWidth; + + @JsonProperty("visible_bounds_height") + public float visibleBoundsHeight; + + /** + * Entity definition and Client Block definition files refer to this geometry via this identifier. + * + * @return Identifier + */ + public String identifier() { + return this.identifier; + } + + /** + * Entity definition and Client Block definition files refer to this geometry via this identifier. + * + * @param identifier Identifier + */ + public void identifier(String identifier) { + this.identifier = identifier; + } + + /** + * Assumed width in texels of the texture that will be bound to this geometry. + * + * @return Texture Width + */ + public float textureWidth() { + return this.textureWidth; + } + + /** + * Assumed width in texels of the texture that will be bound to this geometry. + * + * @param textureWidth Texture Width + */ + public void textureWidth(float textureWidth) { + this.textureWidth = textureWidth; + } + + /** + * Assumed height in texels of the texture that will be bound to this geometry. + * + * @return Texture Height + */ + public float textureHeight() { + return this.textureHeight; + } + + /** + * Assumed height in texels of the texture that will be bound to this geometry. + * + * @param textureHeight Texture Height + */ + public void textureHeight(float textureHeight) { + this.textureHeight = textureHeight; + } + + /** + * Offset of the visibility bounding box from the entity location point (in model space units). + * + * @return Visible Bounds Offset + */ + public float[] visibleBoundsOffset() { + return this.visibleBoundsOffset; + } + + /** + * Offset of the visibility bounding box from the entity location point (in model space units). + * + * @param visibleBoundsOffset Visible Bounds Offset + */ + public void visibleBoundsOffset(float[] visibleBoundsOffset) { + this.visibleBoundsOffset = visibleBoundsOffset; + } + + /** + * Width of the visibility bounding box (in model space units). + * + * @return Visible Bounds Width + */ + public float visibleBoundsWidth() { + return this.visibleBoundsWidth; + } + + /** + * Width of the visibility bounding box (in model space units). + * + * @param visibleBoundsWidth Visible Bounds Width + */ + public void visibleBoundsWidth(float visibleBoundsWidth) { + this.visibleBoundsWidth = visibleBoundsWidth; + } + + /** + * Height of the visible bounding box (in model space units). + * + * @return Visible Bounds Height + */ + public float visibleBoundsHeight() { + return this.visibleBoundsHeight; + } + + /** + * Height of the visible bounding box (in model space units). + * + * @param visibleBoundsHeight Visible Bounds Height + */ + public void visibleBoundsHeight(float visibleBoundsHeight) { + this.visibleBoundsHeight = visibleBoundsHeight; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/Cubes.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/Cubes.java new file mode 100644 index 0000000..8f3c581 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/Cubes.java @@ -0,0 +1,132 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones; + +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.Uv; + +/** + * A single cube. + */ +public class Cubes { + public float inflate; + + public boolean mirror; + + public float[] origin; + + public float[] pivot; + + public boolean reset; + + public float[] rotation; + + public float[] size; + + public Uv uv; + + /** + * Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only. + */ + public float inflate() { + return this.inflate; + } + + /** + * Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only. + */ + public void inflate(float inflate) { + this.inflate = inflate; + } + + /** + * Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's `mirror` setting for this cube. + */ + public boolean mirror() { + return this.mirror; + } + + /** + * Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's `mirror` setting for this cube. + */ + public void mirror(boolean mirror) { + this.mirror = mirror; + } + + public float[] origin() { + return this.origin; + } + + public void origin(float[] origin) { + this.origin = origin; + } + + /** + * If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14. + * + * @return Pivot + */ + public float[] pivot() { + return this.pivot; + } + + /** + * If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14. + * + * @param pivot Pivot + */ + public void pivot(float[] pivot) { + this.pivot = pivot; + } + + /** + * @return Reset + */ + public boolean reset() { + return this.reset; + } + + /** + * @param reset Reset + */ + public void reset(boolean reset) { + this.reset = reset; + } + + /** + * @return Rotation + */ + public float[] rotation() { + return this.rotation; + } + + /** + * @param rotation Rotation + */ + public void rotation(float[] rotation) { + this.rotation = rotation; + } + + /** + * The cube extends this amount relative to its origin (in model space units). + * + * @return Size + */ + public float[] size() { + return this.size; + } + + /** + * The cube extends this amount relative to its origin (in model space units). + * + * @param size Size + */ + public void size(float[] size) { + this.size = size; + } + + public Uv uv() { + return this.uv; + } + + public void uv(Uv uv) { + this.uv = uv; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/PolyMesh.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/PolyMesh.java new file mode 100644 index 0000000..8dff779 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/PolyMesh.java @@ -0,0 +1,25 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * ***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry. + */ +public class PolyMesh { + @JsonProperty("normalized_uvs") + public boolean normalizedUvs; + + /** + * If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively. + */ + public boolean normalizedUvs() { + return this.normalizedUvs; + } + + /** + * If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively. + */ + public void normalizedUvs(boolean normalizedUvs) { + this.normalizedUvs = normalizedUvs; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/TextureMeshes.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/TextureMeshes.java new file mode 100644 index 0000000..ce326a1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/TextureMeshes.java @@ -0,0 +1,87 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class TextureMeshes { + @JsonProperty("local_pivot") + public float[] localPivot; + + public float[] position; + + public float[] rotation; + + public float[] scale; + + public String texture; + + /** + * The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry. + */ + public float[] localPivot() { + return this.localPivot; + } + + /** + * The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry. + */ + public void localPivot(float[] localPivot) { + this.localPivot = localPivot; + } + + /** + * The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry. + */ + public float[] position() { + return this.position; + } + + /** + * The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry. + */ + public void position(float[] position) { + this.position = position; + } + + /** + * The rotation (in degrees) of the texture geometry relative to the offset. + */ + public float[] rotation() { + return this.rotation; + } + + /** + * The rotation (in degrees) of the texture geometry relative to the offset. + */ + public void rotation(float[] rotation) { + this.rotation = rotation; + } + + /** + * The scale (in degrees) of the texture geometry relative to the offset. + */ + public float[] scale() { + return this.scale; + } + + /** + * The scale (in degrees) of the texture geometry relative to the offset. + */ + public void scale(float[] scale) { + this.scale = scale; + } + + /** + * The friendly-named texture to use. + */ + public String texture() { + return this.texture; + } + + /** + * The friendly-named texture to use. + */ + public void texture(String texture) { + this.texture = texture; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/Uv.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/Uv.java new file mode 100644 index 0000000..230db52 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/Uv.java @@ -0,0 +1,70 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes; + +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv.Down; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv.East; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv.North; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv.South; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv.Up; +import org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv.West; + +public class Uv { + public North north; + + public South south; + + public East east; + + public West west; + + public Up up; + + public Down down; + + public North north() { + return this.north; + } + + public void north(North north) { + this.north = north; + } + + public South south() { + return this.south; + } + + public void south(South south) { + this.south = south; + } + + public East east() { + return this.east; + } + + public void east(East east) { + this.east = east; + } + + public West west() { + return this.west; + } + + public void west(West west) { + this.west = west; + } + + public Up up() { + return this.up; + } + + public void up(Up up) { + this.up = up; + } + + public Down down() { + return this.down; + } + + public void down(Down down) { + this.down = down; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/Down.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/Down.java new file mode 100644 index 0000000..3150d63 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/Down.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class Down { + public float[] uv; + + @JsonProperty("uv_size") + public float[] uvSize; + + @JsonProperty("material_instance") + public String materialInstance; + + public float[] uv() { + return this.uv; + } + + public void uv(float[] uv) { + this.uv = uv; + } + + public float[] uvSize() { + return this.uvSize; + } + + public void uvSize(float[] uvSize) { + this.uvSize = uvSize; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @return Material Instance + */ + public String materialInstance() { + return this.materialInstance; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @param materialInstance Material Instance + */ + public void materialInstance(String materialInstance) { + this.materialInstance = materialInstance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/East.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/East.java new file mode 100644 index 0000000..bc32695 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/East.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class East { + public float[] uv; + + @JsonProperty("uv_size") + public float[] uvSize; + + @JsonProperty("material_instance") + public String materialInstance; + + public float[] uv() { + return this.uv; + } + + public void uv(float[] uv) { + this.uv = uv; + } + + public float[] uvSize() { + return this.uvSize; + } + + public void uvSize(float[] uvSize) { + this.uvSize = uvSize; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @return Material Instance + */ + public String materialInstance() { + return this.materialInstance; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @param materialInstance Material Instance + */ + public void materialInstance(String materialInstance) { + this.materialInstance = materialInstance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/North.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/North.java new file mode 100644 index 0000000..97c2c65 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/North.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class North { + public float[] uv; + + @JsonProperty("uv_size") + public float[] uvSize; + + @JsonProperty("material_instance") + public String materialInstance; + + public float[] uv() { + return this.uv; + } + + public void uv(float[] uv) { + this.uv = uv; + } + + public float[] uvSize() { + return this.uvSize; + } + + public void uvSize(float[] uvSize) { + this.uvSize = uvSize; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @return Material Instance + */ + public String materialInstance() { + return this.materialInstance; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @param materialInstance Material Instance + */ + public void materialInstance(String materialInstance) { + this.materialInstance = materialInstance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/South.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/South.java new file mode 100644 index 0000000..782391b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/South.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class South { + public float[] uv; + + @JsonProperty("uv_size") + public float[] uvSize; + + @JsonProperty("material_instance") + public String materialInstance; + + public float[] uv() { + return this.uv; + } + + public void uv(float[] uv) { + this.uv = uv; + } + + public float[] uvSize() { + return this.uvSize; + } + + public void uvSize(float[] uvSize) { + this.uvSize = uvSize; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @return Material Instance + */ + public String materialInstance() { + return this.materialInstance; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @param materialInstance Material Instance + */ + public void materialInstance(String materialInstance) { + this.materialInstance = materialInstance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/Up.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/Up.java new file mode 100644 index 0000000..9556d44 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/Up.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class Up { + public float[] uv; + + @JsonProperty("uv_size") + public float[] uvSize; + + @JsonProperty("material_instance") + public String materialInstance; + + public float[] uv() { + return this.uv; + } + + public void uv(float[] uv) { + this.uv = uv; + } + + public float[] uvSize() { + return this.uvSize; + } + + public void uvSize(float[] uvSize) { + this.uvSize = uvSize; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @return Material Instance + */ + public String materialInstance() { + return this.materialInstance; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @param materialInstance Material Instance + */ + public void materialInstance(String materialInstance) { + this.materialInstance = materialInstance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/West.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/West.java new file mode 100644 index 0000000..826ac78 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/models/entity/modelentity/geometry/bones/cubes/uv/West.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.models.entity.modelentity.geometry.bones.cubes.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class West { + public float[] uv; + + @JsonProperty("uv_size") + public float[] uvSize; + + @JsonProperty("material_instance") + public String materialInstance; + + public float[] uv() { + return this.uv; + } + + public void uv(float[] uv) { + this.uv = uv; + } + + public float[] uvSize() { + return this.uvSize; + } + + public void uvSize(float[] uvSize) { + this.uvSize = uvSize; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @return Material Instance + */ + public String materialInstance() { + return this.materialInstance; + } + + /** + * Specifies the UV's for the face that stretches. + * + * @param materialInstance Material Instance + */ + public void materialInstance(String materialInstance) { + this.materialInstance = materialInstance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/ParticleEffect.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/ParticleEffect.java new file mode 100644 index 0000000..3354e47 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/ParticleEffect.java @@ -0,0 +1,86 @@ +package org.geysermc.pack.bedrock.resource.particles; + +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.Components; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.Curves; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.Description; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.Events; + +/** + * Particle Effect + */ +public class ParticleEffect { + public Description description; + + private Map curves = new HashMap<>(); + + public Components components; + + private Map events = new HashMap<>(); + + /** + * @return Description + */ + public Description description() { + return this.description; + } + + /** + * @param description Description + */ + public void description(Description description) { + this.description = description; + } + + /** + * Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve. + * + * @return Curves + */ + public Map curves() { + return this.curves; + } + + /** + * Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve. + * + * @param curves Curves + */ + public void curves(Map curves) { + this.curves = curves; + } + + /** + * The particle components. + * + * @return Components + */ + public Components components() { + return this.components; + } + + /** + * The particle components. + * + * @param components Components + */ + public void components(Components components) { + this.components = components; + } + + /** + * @return Events + */ + public Map events() { + return this.events; + } + + /** + * @param events Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/Particles.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/Particles.java new file mode 100644 index 0000000..aff8c66 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/Particles.java @@ -0,0 +1,49 @@ +package org.geysermc.pack.bedrock.resource.particles; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle + *

+ * A particle definition file. + */ +public class Particles { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("particle_effect") + public ParticleEffect particleEffect; + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * @return Particle Effect + */ + public ParticleEffect particleEffect() { + return this.particleEffect; + } + + /** + * @param particleEffect Particle Effect + */ + public void particleEffect(ParticleEffect particleEffect) { + this.particleEffect = particleEffect; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Components.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Components.java new file mode 100644 index 0000000..81ac712 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Components.java @@ -0,0 +1,476 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterInitialization; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterLifetimeEvents; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterLifetimeExpression; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterLifetimeLooping; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterLifetimeOnce; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterLocalSpace; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterRateInstant; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterRateManual; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterRateSteady; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterShapeBox; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterShapeCustom; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterShapeDisc; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterShapeEntityAabb; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterShapePoint; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.EmitterShapeSphere; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleAppearanceBillboard; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleAppearanceLighting; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleAppearanceTinting; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleInitialSpin; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleInitialization; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleLifetimeEvents; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleLifetimeExpression; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleMotionCollision; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleMotionDynamic; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.ParticleMotionParametric; + +/** + * Components + *

+ * The particle components. + */ +public class Components { + @JsonProperty("minecraft:emitter_initialization") + public EmitterInitialization emitterInitialization; + + @JsonProperty("minecraft:emitter_lifetime_events") + public EmitterLifetimeEvents emitterLifetimeEvents; + + @JsonProperty("minecraft:emitter_lifetime_expression") + public EmitterLifetimeExpression emitterLifetimeExpression; + + @JsonProperty("minecraft:emitter_lifetime_once") + public EmitterLifetimeOnce emitterLifetimeOnce; + + @JsonProperty("minecraft:emitter_lifetime_looping") + public EmitterLifetimeLooping emitterLifetimeLooping; + + @JsonProperty("minecraft:emitter_local_space") + public EmitterLocalSpace emitterLocalSpace; + + @JsonProperty("minecraft:emitter_rate_instant") + public EmitterRateInstant emitterRateInstant; + + @JsonProperty("minecraft:emitter_rate_manual") + public EmitterRateManual emitterRateManual; + + @JsonProperty("minecraft:emitter_rate_steady") + public EmitterRateSteady emitterRateSteady; + + @JsonProperty("minecraft:emitter_shape_box") + public EmitterShapeBox emitterShapeBox; + + @JsonProperty("minecraft:emitter_shape_custom") + public EmitterShapeCustom emitterShapeCustom; + + @JsonProperty("minecraft:emitter_shape_disc") + public EmitterShapeDisc emitterShapeDisc; + + @JsonProperty("minecraft:emitter_shape_entity_aabb") + public EmitterShapeEntityAabb emitterShapeEntityAabb; + + @JsonProperty("minecraft:emitter_shape_point") + public EmitterShapePoint emitterShapePoint; + + @JsonProperty("minecraft:emitter_shape_sphere") + public EmitterShapeSphere emitterShapeSphere; + + @JsonProperty("minecraft:particle_appearance_billboard") + public ParticleAppearanceBillboard particleAppearanceBillboard; + + @JsonProperty("minecraft:particle_appearance_tinting") + public ParticleAppearanceTinting particleAppearanceTinting; + + @JsonProperty("minecraft:particle_appearance_lighting") + public ParticleAppearanceLighting particleAppearanceLighting; + + @JsonProperty("minecraft:particle_initialization") + public ParticleInitialization particleInitialization; + + @JsonProperty("minecraft:particle_initial_spin") + public ParticleInitialSpin particleInitialSpin; + + @JsonProperty("minecraft:particle_lifetime_expression") + public ParticleLifetimeExpression particleLifetimeExpression; + + @JsonProperty("minecraft:particle_lifetime_events") + public ParticleLifetimeEvents particleLifetimeEvents; + + @JsonProperty("minecraft:particle_motion_collision") + public ParticleMotionCollision particleMotionCollision; + + @JsonProperty("minecraft:particle_motion_dynamic") + public ParticleMotionDynamic particleMotionDynamic; + + @JsonProperty("minecraft:particle_motion_parametric") + public ParticleMotionParametric particleMotionParametric; + + /** + * This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later. + * + * @return Emitter Initialization Component For 1.10.0 + */ + public EmitterInitialization emitterInitialization() { + return this.emitterInitialization; + } + + /** + * This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later. + * + * @param emitterInitialization Emitter Initialization Component For 1.10.0 + */ + public void emitterInitialization(EmitterInitialization emitterInitialization) { + this.emitterInitialization = emitterInitialization; + } + + /** + * @return Emitter Lifetime Events Component For 1.10.0 + */ + public EmitterLifetimeEvents emitterLifetimeEvents() { + return this.emitterLifetimeEvents; + } + + /** + * @param emitterLifetimeEvents Emitter Lifetime Events Component For 1.10.0 + */ + public void emitterLifetimeEvents(EmitterLifetimeEvents emitterLifetimeEvents) { + this.emitterLifetimeEvents = emitterLifetimeEvents; + } + + /** + * @return Emitter Rate Manual Component 1.10.0 + */ + public EmitterLifetimeExpression emitterLifetimeExpression() { + return this.emitterLifetimeExpression; + } + + /** + * @param emitterLifetimeExpression Emitter Rate Manual Component 1.10.0 + */ + public void emitterLifetimeExpression(EmitterLifetimeExpression emitterLifetimeExpression) { + this.emitterLifetimeExpression = emitterLifetimeExpression; + } + + /** + * @return Emitter Lifetime Once Component For 1.10.0 + */ + public EmitterLifetimeOnce emitterLifetimeOnce() { + return this.emitterLifetimeOnce; + } + + /** + * @param emitterLifetimeOnce Emitter Lifetime Once Component For 1.10.0 + */ + public void emitterLifetimeOnce(EmitterLifetimeOnce emitterLifetimeOnce) { + this.emitterLifetimeOnce = emitterLifetimeOnce; + } + + /** + * @return Emitter Lifetime Looping Component For 1.10.0 + */ + public EmitterLifetimeLooping emitterLifetimeLooping() { + return this.emitterLifetimeLooping; + } + + /** + * @param emitterLifetimeLooping Emitter Lifetime Looping Component For 1.10.0 + */ + public void emitterLifetimeLooping(EmitterLifetimeLooping emitterLifetimeLooping) { + this.emitterLifetimeLooping = emitterLifetimeLooping; + } + + /** + * @return Emitter Local Space Component For 1.10.0 + */ + public EmitterLocalSpace emitterLocalSpace() { + return this.emitterLocalSpace; + } + + /** + * @param emitterLocalSpace Emitter Local Space Component For 1.10.0 + */ + public void emitterLocalSpace(EmitterLocalSpace emitterLocalSpace) { + this.emitterLocalSpace = emitterLocalSpace; + } + + /** + * @return Emitter Rate Instant Component For 1.10.0 + */ + public EmitterRateInstant emitterRateInstant() { + return this.emitterRateInstant; + } + + /** + * @param emitterRateInstant Emitter Rate Instant Component For 1.10.0 + */ + public void emitterRateInstant(EmitterRateInstant emitterRateInstant) { + this.emitterRateInstant = emitterRateInstant; + } + + /** + * @return Emitter Rate Manual Component For 1.10.0 + */ + public EmitterRateManual emitterRateManual() { + return this.emitterRateManual; + } + + /** + * @param emitterRateManual Emitter Rate Manual Component For 1.10.0 + */ + public void emitterRateManual(EmitterRateManual emitterRateManual) { + this.emitterRateManual = emitterRateManual; + } + + /** + * @return Emitter Rate Steady Component For 1.10.0 + */ + public EmitterRateSteady emitterRateSteady() { + return this.emitterRateSteady; + } + + /** + * @param emitterRateSteady Emitter Rate Steady Component For 1.10.0 + */ + public void emitterRateSteady(EmitterRateSteady emitterRateSteady) { + this.emitterRateSteady = emitterRateSteady; + } + + /** + * @return Emitter Shape Box Component For 1.10.0 + */ + public EmitterShapeBox emitterShapeBox() { + return this.emitterShapeBox; + } + + /** + * @param emitterShapeBox Emitter Shape Box Component For 1.10.0 + */ + public void emitterShapeBox(EmitterShapeBox emitterShapeBox) { + this.emitterShapeBox = emitterShapeBox; + } + + /** + * @return Emitter Shape Custom Component For 1.10.0 + */ + public EmitterShapeCustom emitterShapeCustom() { + return this.emitterShapeCustom; + } + + /** + * @param emitterShapeCustom Emitter Shape Custom Component For 1.10.0 + */ + public void emitterShapeCustom(EmitterShapeCustom emitterShapeCustom) { + this.emitterShapeCustom = emitterShapeCustom; + } + + /** + * @return Emitter Shape Disc Component For 1.10.0 + */ + public EmitterShapeDisc emitterShapeDisc() { + return this.emitterShapeDisc; + } + + /** + * @param emitterShapeDisc Emitter Shape Disc Component For 1.10.0 + */ + public void emitterShapeDisc(EmitterShapeDisc emitterShapeDisc) { + this.emitterShapeDisc = emitterShapeDisc; + } + + /** + * @return Emitter Shape Entity Aabb Component For 1.10.0 + */ + public EmitterShapeEntityAabb emitterShapeEntityAabb() { + return this.emitterShapeEntityAabb; + } + + /** + * @param emitterShapeEntityAabb Emitter Shape Entity Aabb Component For 1.10.0 + */ + public void emitterShapeEntityAabb(EmitterShapeEntityAabb emitterShapeEntityAabb) { + this.emitterShapeEntityAabb = emitterShapeEntityAabb; + } + + /** + * @return Emitter Shape Point Component For 1.10.0 + */ + public EmitterShapePoint emitterShapePoint() { + return this.emitterShapePoint; + } + + /** + * @param emitterShapePoint Emitter Shape Point Component For 1.10.0 + */ + public void emitterShapePoint(EmitterShapePoint emitterShapePoint) { + this.emitterShapePoint = emitterShapePoint; + } + + /** + * @return Emitter Shape Sphere Component For 1.10.0 + */ + public EmitterShapeSphere emitterShapeSphere() { + return this.emitterShapeSphere; + } + + /** + * @param emitterShapeSphere Emitter Shape Sphere Component For 1.10.0 + */ + public void emitterShapeSphere(EmitterShapeSphere emitterShapeSphere) { + this.emitterShapeSphere = emitterShapeSphere; + } + + /** + * @return Particle Appearance Billboard Component For 1.10.0 + */ + public ParticleAppearanceBillboard particleAppearanceBillboard() { + return this.particleAppearanceBillboard; + } + + /** + * @param particleAppearanceBillboard Particle Appearance Billboard Component For 1.10.0 + */ + public void particleAppearanceBillboard(ParticleAppearanceBillboard particleAppearanceBillboard) { + this.particleAppearanceBillboard = particleAppearanceBillboard; + } + + /** + * Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff. + * + * @return Particle Appearance Tinting Component For 1.10.0 + */ + public ParticleAppearanceTinting particleAppearanceTinting() { + return this.particleAppearanceTinting; + } + + /** + * Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff. + * + * @param particleAppearanceTinting Particle Appearance Tinting Component For 1.10.0 + */ + public void particleAppearanceTinting(ParticleAppearanceTinting particleAppearanceTinting) { + this.particleAppearanceTinting = particleAppearanceTinting; + } + + /** + * @return Particle Appearance Lighting Component For 1.10.0 + */ + public ParticleAppearanceLighting particleAppearanceLighting() { + return this.particleAppearanceLighting; + } + + /** + * @param particleAppearanceLighting Particle Appearance Lighting Component For 1.10.0 + */ + public void particleAppearanceLighting(ParticleAppearanceLighting particleAppearanceLighting) { + this.particleAppearanceLighting = particleAppearanceLighting; + } + + /** + * @return Particle Initialization Component For 1.10.0 + */ + public ParticleInitialization particleInitialization() { + return this.particleInitialization; + } + + /** + * @param particleInitialization Particle Initialization Component For 1.10.0 + */ + public void particleInitialization(ParticleInitialization particleInitialization) { + this.particleInitialization = particleInitialization; + } + + /** + * Starts the particle with a specified orientation and rotation rate. + * + * @return Particle Initial Spin Component For 1.10.0 + */ + public ParticleInitialSpin particleInitialSpin() { + return this.particleInitialSpin; + } + + /** + * Starts the particle with a specified orientation and rotation rate. + * + * @param particleInitialSpin Particle Initial Spin Component For 1.10.0 + */ + public void particleInitialSpin(ParticleInitialSpin particleInitialSpin) { + this.particleInitialSpin = particleInitialSpin; + } + + /** + * @return Particle Lifetime Expression Component For 1.10.0 + */ + public ParticleLifetimeExpression particleLifetimeExpression() { + return this.particleLifetimeExpression; + } + + /** + * @param particleLifetimeExpression Particle Lifetime Expression Component For 1.10.0 + */ + public void particleLifetimeExpression(ParticleLifetimeExpression particleLifetimeExpression) { + this.particleLifetimeExpression = particleLifetimeExpression; + } + + /** + * @return Particle Lifetime Events Component For 1.10.0 + */ + public ParticleLifetimeEvents particleLifetimeEvents() { + return this.particleLifetimeEvents; + } + + /** + * @param particleLifetimeEvents Particle Lifetime Events Component For 1.10.0 + */ + public void particleLifetimeEvents(ParticleLifetimeEvents particleLifetimeEvents) { + this.particleLifetimeEvents = particleLifetimeEvents; + } + + /** + * @return Particle Motion Collision Component For 1.10.0 + */ + public ParticleMotionCollision particleMotionCollision() { + return this.particleMotionCollision; + } + + /** + * @param particleMotionCollision Particle Motion Collision Component For 1.10.0 + */ + public void particleMotionCollision(ParticleMotionCollision particleMotionCollision) { + this.particleMotionCollision = particleMotionCollision; + } + + /** + * This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle. + * + * @return Particle Motion Dynamic Component For 1.10.0 + */ + public ParticleMotionDynamic particleMotionDynamic() { + return this.particleMotionDynamic; + } + + /** + * This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle. + * + * @param particleMotionDynamic Particle Motion Dynamic Component For 1.10.0 + */ + public void particleMotionDynamic(ParticleMotionDynamic particleMotionDynamic) { + this.particleMotionDynamic = particleMotionDynamic; + } + + /** + * @return Particle Motion Parametric Component For 1.10.0 + */ + public ParticleMotionParametric particleMotionParametric() { + return this.particleMotionParametric; + } + + /** + * @param particleMotionParametric Particle Motion Parametric Component For 1.10.0 + */ + public void particleMotionParametric(ParticleMotionParametric particleMotionParametric) { + this.particleMotionParametric = particleMotionParametric; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Curves.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Curves.java new file mode 100644 index 0000000..3d30efc --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Curves.java @@ -0,0 +1,52 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Curves + *

+ * Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve. + */ +public class Curves { + public String input; + + public String type; + + @JsonProperty("horizontal_range") + public String horizontalRange; + + public String input() { + return this.input; + } + + public void input(String input) { + this.input = input; + } + + /** + * The type of curve. + * + * @return Type + */ + public String type() { + return this.type; + } + + /** + * The type of curve. + * + * @param type Type + */ + public void type(String type) { + this.type = type; + } + + public String horizontalRange() { + return this.horizontalRange; + } + + public void horizontalRange(String horizontalRange) { + this.horizontalRange = horizontalRange; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Description.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Description.java new file mode 100644 index 0000000..34e8672 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Description.java @@ -0,0 +1,43 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.description.BasicRenderParameters; + +/** + * Description + */ +public class Description { + public String identifier; + + @JsonProperty("basic_render_parameters") + public BasicRenderParameters basicRenderParameters; + + /** + * @return Identifier + */ + public String identifier() { + return this.identifier; + } + + /** + * @param identifier Identifier + */ + public void identifier(String identifier) { + this.identifier = identifier; + } + + /** + * @return Basic Render Parameters + */ + public BasicRenderParameters basicRenderParameters() { + return this.basicRenderParameters; + } + + /** + * @param basicRenderParameters Basic Render Parameters + */ + public void basicRenderParameters(BasicRenderParameters basicRenderParameters) { + this.basicRenderParameters = basicRenderParameters; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Events.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Events.java new file mode 100644 index 0000000..6fe8ea0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/Events.java @@ -0,0 +1,44 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.events.ParticleEffect; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.events.SoundEffect; + +/** + * Events + */ +public class Events { + @JsonProperty("particle_effect") + public ParticleEffect particleEffect; + + @JsonProperty("sound_effect") + public SoundEffect soundEffect; + + /** + * @return Particle Effect + */ + public ParticleEffect particleEffect() { + return this.particleEffect; + } + + /** + * @param particleEffect Particle Effect + */ + public void particleEffect(ParticleEffect particleEffect) { + this.particleEffect = particleEffect; + } + + /** + * @return Sound Effect + */ + public SoundEffect soundEffect() { + return this.soundEffect; + } + + /** + * @param soundEffect Sound Effect + */ + public void soundEffect(SoundEffect soundEffect) { + this.soundEffect = soundEffect; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterInitialization.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterInitialization.java new file mode 100644 index 0000000..501acad --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterInitialization.java @@ -0,0 +1,53 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Initialization Component For 1.10.0 + *

+ * This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later. + */ +public class EmitterInitialization { + @JsonProperty("creation_expression") + public String creationExpression; + + @JsonProperty("per_update_expression") + public String perUpdateExpression; + + /** + * Molang definition. + * + * @return Molang + */ + public String creationExpression() { + return this.creationExpression; + } + + /** + * Molang definition. + * + * @param creationExpression Molang + */ + public void creationExpression(String creationExpression) { + this.creationExpression = creationExpression; + } + + /** + * Molang definition. + * + * @return Molang + */ + public String perUpdateExpression() { + return this.perUpdateExpression; + } + + /** + * Molang definition. + * + * @param perUpdateExpression Molang + */ + public void perUpdateExpression(String perUpdateExpression) { + this.perUpdateExpression = perUpdateExpression; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeEvents.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeEvents.java new file mode 100644 index 0000000..0f95518 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeEvents.java @@ -0,0 +1,79 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.emitterlifetimeevents.LoopingTravelDistanceEvents; + +/** + * Emitter Lifetime Events Component For 1.10.0 + */ +public class EmitterLifetimeEvents { + @JsonProperty("creation_event") + public String creationEvent; + + @JsonProperty("expiration_event") + public String expirationEvent; + + private Map timeline = new HashMap<>(); + + @JsonProperty("looping_travel_distance_events") + public List loopingTravelDistanceEvents = new ArrayList<>(); + + public String creationEvent() { + return this.creationEvent; + } + + public void creationEvent(String creationEvent) { + this.creationEvent = creationEvent; + } + + public String expirationEvent() { + return this.expirationEvent; + } + + public void expirationEvent(String expirationEvent) { + this.expirationEvent = expirationEvent; + } + + /** + * A series of times, e.g. 0.0 or 1.0, that trigger the event, these get fired on every loop the emitter goes through, `time` is the time, e.g. one line might be: `0.4`: `event` + * + * @return Timeline + */ + public Map timeline() { + return this.timeline; + } + + /** + * A series of times, e.g. 0.0 or 1.0, that trigger the event, these get fired on every loop the emitter goes through, `time` is the time, e.g. one line might be: `0.4`: `event` + * + * @param timeline Timeline + */ + public void timeline(Map timeline) { + this.timeline = timeline; + } + + /** + * A series of events that occur at set intervals these get fired every time the emitter has moved the specified input distance from the last time it was fired. + * + * @return Looping Travel Distance Events + */ + public List loopingTravelDistanceEvents() { + return this.loopingTravelDistanceEvents; + } + + /** + * A series of events that occur at set intervals these get fired every time the emitter has moved the specified input distance from the last time it was fired. + * + * @param loopingTravelDistanceEvents Looping Travel Distance Events + */ + public void loopingTravelDistanceEvents( + List loopingTravelDistanceEvents) { + this.loopingTravelDistanceEvents = loopingTravelDistanceEvents; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeExpression.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeExpression.java new file mode 100644 index 0000000..14f92f0 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeExpression.java @@ -0,0 +1,31 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Rate Manual Component 1.10.0 + */ +public class EmitterLifetimeExpression { + @JsonProperty("activation_expression") + public String activationExpression; + + @JsonProperty("expiration_expression") + public String expirationExpression; + + public String activationExpression() { + return this.activationExpression; + } + + public void activationExpression(String activationExpression) { + this.activationExpression = activationExpression; + } + + public String expirationExpression() { + return this.expirationExpression; + } + + public void expirationExpression(String expirationExpression) { + this.expirationExpression = expirationExpression; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeLooping.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeLooping.java new file mode 100644 index 0000000..6f68ab1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeLooping.java @@ -0,0 +1,31 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Lifetime Looping Component For 1.10.0 + */ +public class EmitterLifetimeLooping { + @JsonProperty("active_time") + public String activeTime; + + @JsonProperty("sleep_time") + public String sleepTime; + + public String activeTime() { + return this.activeTime; + } + + public void activeTime(String activeTime) { + this.activeTime = activeTime; + } + + public String sleepTime() { + return this.sleepTime; + } + + public void sleepTime(String sleepTime) { + this.sleepTime = sleepTime; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeOnce.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeOnce.java new file mode 100644 index 0000000..2211b13 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLifetimeOnce.java @@ -0,0 +1,20 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Lifetime Once Component For 1.10.0 + */ +public class EmitterLifetimeOnce { + @JsonProperty("active_time") + public String activeTime; + + public String activeTime() { + return this.activeTime; + } + + public void activeTime(String activeTime) { + this.activeTime = activeTime; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLocalSpace.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLocalSpace.java new file mode 100644 index 0000000..8956bc5 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterLocalSpace.java @@ -0,0 +1,54 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +/** + * Emitter Local Space Component For 1.10.0 + */ +public class EmitterLocalSpace { + public boolean position; + + public boolean rotation; + + public boolean velocity; + + /** + * @return Position + */ + public boolean position() { + return this.position; + } + + /** + * @param position Position + */ + public void position(boolean position) { + this.position = position; + } + + /** + * @return Rotation + */ + public boolean rotation() { + return this.rotation; + } + + /** + * @param rotation Rotation + */ + public void rotation(boolean rotation) { + this.rotation = rotation; + } + + /** + * @return Rotation + */ + public boolean velocity() { + return this.velocity; + } + + /** + * @param velocity Rotation + */ + public void velocity(boolean velocity) { + this.velocity = velocity; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateInstant.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateInstant.java new file mode 100644 index 0000000..5c5de12 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateInstant.java @@ -0,0 +1,20 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Rate Instant Component For 1.10.0 + */ +public class EmitterRateInstant { + @JsonProperty("num_particles") + public String numParticles; + + public String numParticles() { + return this.numParticles; + } + + public void numParticles(String numParticles) { + this.numParticles = numParticles; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateManual.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateManual.java new file mode 100644 index 0000000..81bc809 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateManual.java @@ -0,0 +1,20 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Rate Manual Component For 1.10.0 + */ +public class EmitterRateManual { + @JsonProperty("max_particles") + public String maxParticles; + + public String maxParticles() { + return this.maxParticles; + } + + public void maxParticles(String maxParticles) { + this.maxParticles = maxParticles; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateSteady.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateSteady.java new file mode 100644 index 0000000..c1b33f8 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterRateSteady.java @@ -0,0 +1,31 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Rate Steady Component For 1.10.0 + */ +public class EmitterRateSteady { + @JsonProperty("max_particles") + public String maxParticles; + + @JsonProperty("spawn_rate") + public String spawnRate; + + public String maxParticles() { + return this.maxParticles; + } + + public void maxParticles(String maxParticles) { + this.maxParticles = maxParticles; + } + + public String spawnRate() { + return this.spawnRate; + } + + public void spawnRate(String spawnRate) { + this.spawnRate = spawnRate; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeBox.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeBox.java new file mode 100644 index 0000000..2d02e4d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeBox.java @@ -0,0 +1,46 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Shape Box Component For 1.10.0 + */ +public class EmitterShapeBox { + public String direction; + + public String radius; + + @JsonProperty("surface_only") + public boolean surfaceOnly; + + public String direction() { + return this.direction; + } + + public void direction(String direction) { + this.direction = direction; + } + + public String radius() { + return this.radius; + } + + public void radius(String radius) { + this.radius = radius; + } + + /** + * @return Surface Only + */ + public boolean surfaceOnly() { + return this.surfaceOnly; + } + + /** + * @param surfaceOnly Surface Only + */ + public void surfaceOnly(boolean surfaceOnly) { + this.surfaceOnly = surfaceOnly; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeCustom.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeCustom.java new file mode 100644 index 0000000..c5822b5 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeCustom.java @@ -0,0 +1,7 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +/** + * Emitter Shape Custom Component For 1.10.0 + */ +public class EmitterShapeCustom { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeDisc.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeDisc.java new file mode 100644 index 0000000..49f90e7 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeDisc.java @@ -0,0 +1,57 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Shape Disc Component For 1.10.0 + */ +public class EmitterShapeDisc { + public String direction; + + public String radius; + + @JsonProperty("plane_normal") + public String planeNormal; + + @JsonProperty("surface_only") + public boolean surfaceOnly; + + public String direction() { + return this.direction; + } + + public void direction(String direction) { + this.direction = direction; + } + + public String radius() { + return this.radius; + } + + public void radius(String radius) { + this.radius = radius; + } + + public String planeNormal() { + return this.planeNormal; + } + + public void planeNormal(String planeNormal) { + this.planeNormal = planeNormal; + } + + /** + * @return Surface Only + */ + public boolean surfaceOnly() { + return this.surfaceOnly; + } + + /** + * @param surfaceOnly Surface Only + */ + public void surfaceOnly(boolean surfaceOnly) { + this.surfaceOnly = surfaceOnly; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeEntityAabb.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeEntityAabb.java new file mode 100644 index 0000000..9d79d66 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeEntityAabb.java @@ -0,0 +1,7 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +/** + * Emitter Shape Entity Aabb Component For 1.10.0 + */ +public class EmitterShapeEntityAabb { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapePoint.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapePoint.java new file mode 100644 index 0000000..052c9c4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapePoint.java @@ -0,0 +1,7 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +/** + * Emitter Shape Point Component For 1.10.0 + */ +public class EmitterShapePoint { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeSphere.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeSphere.java new file mode 100644 index 0000000..0dce0cc --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/EmitterShapeSphere.java @@ -0,0 +1,46 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Emitter Shape Sphere Component For 1.10.0 + */ +public class EmitterShapeSphere { + public String direction; + + public String radius; + + @JsonProperty("surface_only") + public boolean surfaceOnly; + + public String direction() { + return this.direction; + } + + public void direction(String direction) { + this.direction = direction; + } + + public String radius() { + return this.radius; + } + + public void radius(String radius) { + this.radius = radius; + } + + /** + * @return Surface Only + */ + public boolean surfaceOnly() { + return this.surfaceOnly; + } + + /** + * @param surfaceOnly Surface Only + */ + public void surfaceOnly(boolean surfaceOnly) { + this.surfaceOnly = surfaceOnly; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceBillboard.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceBillboard.java new file mode 100644 index 0000000..270ff7c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceBillboard.java @@ -0,0 +1,58 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.particleappearancebillboard.Direction; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.particleappearancebillboard.Uv; + +/** + * Particle Appearance Billboard Component For 1.10.0 + */ +public class ParticleAppearanceBillboard { + @JsonProperty("facing_camera_mode") + public String facingCameraMode; + + public Direction direction; + + public Uv uv; + + /** + * Used to orient the billboard. + * + * @return Facing Camera Mode + */ + public String facingCameraMode() { + return this.facingCameraMode; + } + + /** + * Used to orient the billboard. + * + * @param facingCameraMode Facing Camera Mode + */ + public void facingCameraMode(String facingCameraMode) { + this.facingCameraMode = facingCameraMode; + } + + public Direction direction() { + return this.direction; + } + + public void direction(Direction direction) { + this.direction = direction; + } + + /** + * @return Uv + */ + public Uv uv() { + return this.uv; + } + + /** + * @param uv Uv + */ + public void uv(Uv uv) { + this.uv = uv; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceLighting.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceLighting.java new file mode 100644 index 0000000..cd904f6 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceLighting.java @@ -0,0 +1,7 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +/** + * Particle Appearance Lighting Component For 1.10.0 + */ +public class ParticleAppearanceLighting { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceTinting.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceTinting.java new file mode 100644 index 0000000..64ef677 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleAppearanceTinting.java @@ -0,0 +1,26 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import java.lang.String; + +/** + * Particle Appearance Tinting Component For 1.10.0 + *

+ * Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff. + */ +public class ParticleAppearanceTinting { + public String color; + + /** + * Direct color field. + */ + public String color() { + return this.color; + } + + /** + * Direct color field. + */ + public void color(String color) { + this.color = color; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleInitialSpin.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleInitialSpin.java new file mode 100644 index 0000000..9987e06 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleInitialSpin.java @@ -0,0 +1,32 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle Initial Spin Component For 1.10.0 + *

+ * Starts the particle with a specified orientation and rotation rate. + */ +public class ParticleInitialSpin { + public String rotation; + + @JsonProperty("rotation_rate") + public String rotationRate; + + public String rotation() { + return this.rotation; + } + + public void rotation(String rotation) { + this.rotation = rotation; + } + + public String rotationRate() { + return this.rotationRate; + } + + public void rotationRate(String rotationRate) { + this.rotationRate = rotationRate; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleInitialization.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleInitialization.java new file mode 100644 index 0000000..d5465fb --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleInitialization.java @@ -0,0 +1,31 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle Initialization Component For 1.10.0 + */ +public class ParticleInitialization { + @JsonProperty("per_update_expression") + public String perUpdateExpression; + + @JsonProperty("per_render_expression") + public String perRenderExpression; + + public String perUpdateExpression() { + return this.perUpdateExpression; + } + + public void perUpdateExpression(String perUpdateExpression) { + this.perUpdateExpression = perUpdateExpression; + } + + public String perRenderExpression() { + return this.perRenderExpression; + } + + public void perRenderExpression(String perRenderExpression) { + this.perRenderExpression = perRenderExpression; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleLifetimeEvents.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleLifetimeEvents.java new file mode 100644 index 0000000..0249142 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleLifetimeEvents.java @@ -0,0 +1,31 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle Lifetime Events Component For 1.10.0 + */ +public class ParticleLifetimeEvents { + @JsonProperty("creation_event") + public String creationEvent; + + @JsonProperty("expiration_event") + public String expirationEvent; + + public String creationEvent() { + return this.creationEvent; + } + + public void creationEvent(String creationEvent) { + this.creationEvent = creationEvent; + } + + public String expirationEvent() { + return this.expirationEvent; + } + + public void expirationEvent(String expirationEvent) { + this.expirationEvent = expirationEvent; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleLifetimeExpression.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleLifetimeExpression.java new file mode 100644 index 0000000..091794a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleLifetimeExpression.java @@ -0,0 +1,31 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle Lifetime Expression Component For 1.10.0 + */ +public class ParticleLifetimeExpression { + @JsonProperty("expiration_expression") + public String expirationExpression; + + @JsonProperty("max_lifetime") + public String maxLifetime; + + public String expirationExpression() { + return this.expirationExpression; + } + + public void expirationExpression(String expirationExpression) { + this.expirationExpression = expirationExpression; + } + + public String maxLifetime() { + return this.maxLifetime; + } + + public void maxLifetime(String maxLifetime) { + this.maxLifetime = maxLifetime; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionCollision.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionCollision.java new file mode 100644 index 0000000..55c44b4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionCollision.java @@ -0,0 +1,87 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle Motion Collision Component For 1.10.0 + */ +public class ParticleMotionCollision { + @JsonProperty("collision_drag") + public float collisionDrag; + + @JsonProperty("coefficient_of_restitution") + public float coefficientOfRestitution; + + @JsonProperty("collision_radius") + public float collisionRadius; + + public String enabled; + + @JsonProperty("expire_on_contact") + public boolean expireOnContact; + + /** + * @return Collision Drag + */ + public float collisionDrag() { + return this.collisionDrag; + } + + /** + * @param collisionDrag Collision Drag + */ + public void collisionDrag(float collisionDrag) { + this.collisionDrag = collisionDrag; + } + + /** + * @return Coefficient Of Restitution + */ + public float coefficientOfRestitution() { + return this.coefficientOfRestitution; + } + + /** + * @param coefficientOfRestitution Coefficient Of Restitution + */ + public void coefficientOfRestitution(float coefficientOfRestitution) { + this.coefficientOfRestitution = coefficientOfRestitution; + } + + /** + * @return Collision Radius + */ + public float collisionRadius() { + return this.collisionRadius; + } + + /** + * @param collisionRadius Collision Radius + */ + public void collisionRadius(float collisionRadius) { + this.collisionRadius = collisionRadius; + } + + public String enabled() { + return this.enabled; + } + + public void enabled(String enabled) { + this.enabled = enabled; + } + + /** + * @return Expire On Contact + */ + public boolean expireOnContact() { + return this.expireOnContact; + } + + /** + * @param expireOnContact Expire On Contact + */ + public void expireOnContact(boolean expireOnContact) { + this.expireOnContact = expireOnContact; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionDynamic.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionDynamic.java new file mode 100644 index 0000000..e66aafd --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionDynamic.java @@ -0,0 +1,44 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Particle Motion Dynamic Component For 1.10.0 + *

+ * This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle. + */ +public class ParticleMotionDynamic { + @JsonProperty("linear_drag_coefficient") + public String linearDragCoefficient; + + @JsonProperty("rotation_acceleration") + public String rotationAcceleration; + + @JsonProperty("rotation_drag_coefficient") + public String rotationDragCoefficient; + + public String linearDragCoefficient() { + return this.linearDragCoefficient; + } + + public void linearDragCoefficient(String linearDragCoefficient) { + this.linearDragCoefficient = linearDragCoefficient; + } + + public String rotationAcceleration() { + return this.rotationAcceleration; + } + + public void rotationAcceleration(String rotationAcceleration) { + this.rotationAcceleration = rotationAcceleration; + } + + public String rotationDragCoefficient() { + return this.rotationDragCoefficient; + } + + public void rotationDragCoefficient(String rotationDragCoefficient) { + this.rotationDragCoefficient = rotationDragCoefficient; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionParametric.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionParametric.java new file mode 100644 index 0000000..aa397ba --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/ParticleMotionParametric.java @@ -0,0 +1,18 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components; + +import java.lang.String; + +/** + * Particle Motion Parametric Component For 1.10.0 + */ +public class ParticleMotionParametric { + public String rotation; + + public String rotation() { + return this.rotation; + } + + public void rotation(String rotation) { + this.rotation = rotation; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/emitterlifetimeevents/LoopingTravelDistanceEvents.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/emitterlifetimeevents/LoopingTravelDistanceEvents.java new file mode 100644 index 0000000..314072f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/emitterlifetimeevents/LoopingTravelDistanceEvents.java @@ -0,0 +1,34 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components.emitterlifetimeevents; + +import java.lang.String; + +/** + * Distance Event + */ +public class LoopingTravelDistanceEvents { + public float distance; + + public String effects; + + /** + * @return Distance + */ + public float distance() { + return this.distance; + } + + /** + * @param distance Distance + */ + public void distance(float distance) { + this.distance = distance; + } + + public String effects() { + return this.effects; + } + + public void effects(String effects) { + this.effects = effects; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/Direction.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/Direction.java new file mode 100644 index 0000000..f8160e3 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/Direction.java @@ -0,0 +1,39 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components.particleappearancebillboard; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +public class Direction { + public String mode; + + @JsonProperty("min_speed_threshold") + public float minSpeedThreshold; + + /** + * Specified how to calculate the billboard direction of a particle. + */ + public String mode() { + return this.mode; + } + + /** + * Specified how to calculate the billboard direction of a particle. + */ + public void mode(String mode) { + this.mode = mode; + } + + /** + * The direction is set if the speed of the particle is above the threshold. + */ + public float minSpeedThreshold() { + return this.minSpeedThreshold; + } + + /** + * The direction is set if the speed of the particle is above the threshold. + */ + public void minSpeedThreshold(float minSpeedThreshold) { + this.minSpeedThreshold = minSpeedThreshold; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/Uv.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/Uv.java new file mode 100644 index 0000000..7b17bab --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/Uv.java @@ -0,0 +1,59 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components.particleappearancebillboard; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.geysermc.pack.bedrock.resource.particles.particleeffect.components.particleappearancebillboard.uv.Flipbook; + +/** + * Uv + */ +public class Uv { + @JsonProperty("texture_width") + public int textureWidth; + + @JsonProperty("texture_height") + public int textureHeight; + + public Flipbook flipbook; + + /** + * @return Texture Width + */ + public int textureWidth() { + return this.textureWidth; + } + + /** + * @param textureWidth Texture Width + */ + public void textureWidth(int textureWidth) { + this.textureWidth = textureWidth; + } + + /** + * @return Texture Height + */ + public int textureHeight() { + return this.textureHeight; + } + + /** + * @param textureHeight Texture Height + */ + public void textureHeight(int textureHeight) { + this.textureHeight = textureHeight; + } + + /** + * @return Flipbook + */ + public Flipbook flipbook() { + return this.flipbook; + } + + /** + * @param flipbook Flipbook + */ + public void flipbook(Flipbook flipbook) { + this.flipbook = flipbook; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/uv/Flipbook.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/uv/Flipbook.java new file mode 100644 index 0000000..ab02bfe --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/components/particleappearancebillboard/uv/Flipbook.java @@ -0,0 +1,64 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.components.particleappearancebillboard.uv; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Flipbook + */ +public class Flipbook { + @JsonProperty("frames_per_second") + public String framesPerSecond; + + @JsonProperty("max_frame") + public String maxFrame; + + @JsonProperty("stretch_to_lifetime") + public boolean stretchToLifetime; + + public boolean loop; + + public String framesPerSecond() { + return this.framesPerSecond; + } + + public void framesPerSecond(String framesPerSecond) { + this.framesPerSecond = framesPerSecond; + } + + public String maxFrame() { + return this.maxFrame; + } + + public void maxFrame(String maxFrame) { + this.maxFrame = maxFrame; + } + + /** + * @return Stretch To Lifetime + */ + public boolean stretchToLifetime() { + return this.stretchToLifetime; + } + + /** + * @param stretchToLifetime Stretch To Lifetime + */ + public void stretchToLifetime(boolean stretchToLifetime) { + this.stretchToLifetime = stretchToLifetime; + } + + /** + * @return Loop + */ + public boolean loop() { + return this.loop; + } + + /** + * @param loop Loop + */ + public void loop(boolean loop) { + this.loop = loop; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/description/BasicRenderParameters.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/description/BasicRenderParameters.java new file mode 100644 index 0000000..7a93a44 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/description/BasicRenderParameters.java @@ -0,0 +1,48 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.description; + +import java.lang.String; + +/** + * Basic Render Parameters + */ +public class BasicRenderParameters { + public String material; + + public String texture; + + /** + * Minecraft material to use for emitter. + * + * @return Material + */ + public String material() { + return this.material; + } + + /** + * Minecraft material to use for emitter. + * + * @param material Material + */ + public void material(String material) { + this.material = material; + } + + /** + * Minecraft texture to use for emitter. + * + * @return Texture + */ + public String texture() { + return this.texture; + } + + /** + * Minecraft texture to use for emitter. + * + * @param texture Texture + */ + public void texture(String texture) { + this.texture = texture; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/events/ParticleEffect.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/events/ParticleEffect.java new file mode 100644 index 0000000..c6ce67a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/events/ParticleEffect.java @@ -0,0 +1,40 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.events; + +import java.lang.String; + +/** + * Particle Effect + */ +public class ParticleEffect { + public String effect; + + public String type; + + /** + * @return Effect + */ + public String effect() { + return this.effect; + } + + /** + * @param effect Effect + */ + public void effect(String effect) { + this.effect = effect; + } + + /** + * @return Type + */ + public String type() { + return this.type; + } + + /** + * @param type Type + */ + public void type(String type) { + this.type = type; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/events/SoundEffect.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/events/SoundEffect.java new file mode 100644 index 0000000..7b835e4 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/particles/particleeffect/events/SoundEffect.java @@ -0,0 +1,26 @@ +package org.geysermc.pack.bedrock.resource.particles.particleeffect.events; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Sound Effect + */ +public class SoundEffect { + @JsonProperty("event_name") + public String eventName; + + /** + * @return Event Name + */ + public String eventName() { + return this.eventName; + } + + /** + * @param eventName Event Name + */ + public void eventName(String eventName) { + this.eventName = eventName; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/RenderControllers.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/RenderControllers.java new file mode 100644 index 0000000..a625029 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/RenderControllers.java @@ -0,0 +1,57 @@ +package org.geysermc.pack.bedrock.resource.render_controllers; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Render Controllers + *

+ * A collection of render controllers to apply. + */ +public class RenderControllers { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("render_controllers") + private Map renderControllers = new HashMap<>(); + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * The collection of render controllers, each property is the identifier of a render controller. + * + * @return Render Controllers + */ + public Map renderControllers( + ) { + return this.renderControllers; + } + + /** + * The collection of render controllers, each property is the identifier of a render controller. + * + * @param renderControllers Render Controllers + */ + public void renderControllers( + Map renderControllers) { + this.renderControllers = renderControllers; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/Arrays.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/Arrays.java new file mode 100644 index 0000000..19f211a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/Arrays.java @@ -0,0 +1,72 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Arrays + *

+ * A collection of definition of arrays. + */ +public class Arrays { + private Map geometries = new HashMap<>(); + + private Map materials = new HashMap<>(); + + private Map textures = new HashMap<>(); + + /** + * A collection of Geometry array. + * + * @return Geometries + */ + public Map geometries() { + return this.geometries; + } + + /** + * A collection of Geometry array. + * + * @param geometries Geometries + */ + public void geometries(Map geometries) { + this.geometries = geometries; + } + + /** + * A collection of materials array. + * + * @return Materials + */ + public Map materials() { + return this.materials; + } + + /** + * A collection of materials array. + * + * @param materials Materials + */ + public void materials(Map materials) { + this.materials = materials; + } + + /** + * A collection of texture array. + * + * @return Textures + */ + public Map textures() { + return this.textures; + } + + /** + * A collection of texture array. + * + * @param textures Textures + */ + public void textures(Map textures) { + this.textures = textures; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/Color.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/Color.java new file mode 100644 index 0000000..f9d6320 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/Color.java @@ -0,0 +1,90 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +import java.lang.String; + +/** + * Color + *

+ * The color to apply. + */ +public class Color { + public String r; + + public String g; + + public String b; + + public String a; + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String r() { + return this.r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param r Molang Color + */ + public void r(String r) { + this.r = r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String g() { + return this.g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param g Molang Color + */ + public void g(String g) { + this.g = g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String b() { + return this.b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param b Molang Color + */ + public void b(String b) { + this.b = b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String a() { + return this.a; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param a Molang Color + */ + public void a(String a) { + this.a = a; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/IsHurtColor.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/IsHurtColor.java new file mode 100644 index 0000000..d86cf15 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/IsHurtColor.java @@ -0,0 +1,90 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +import java.lang.String; + +/** + * Is Hurt Color + *

+ * The color to overlay on the entity when hurt. + */ +public class IsHurtColor { + public String r; + + public String g; + + public String b; + + public String a; + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String r() { + return this.r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param r Molang Color + */ + public void r(String r) { + this.r = r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String g() { + return this.g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param g Molang Color + */ + public void g(String g) { + this.g = g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String b() { + return this.b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param b Molang Color + */ + public void b(String b) { + this.b = b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String a() { + return this.a; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param a Molang Color + */ + public void a(String a) { + this.a = a; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/OnFireColor.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/OnFireColor.java new file mode 100644 index 0000000..bda0135 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/OnFireColor.java @@ -0,0 +1,90 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +import java.lang.String; + +/** + * On Fire Color + *

+ * The color that will be overlayed when the object is on fire. + */ +public class OnFireColor { + public String r; + + public String g; + + public String b; + + public String a; + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String r() { + return this.r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param r Molang Color + */ + public void r(String r) { + this.r = r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String g() { + return this.g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param g Molang Color + */ + public void g(String g) { + this.g = g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String b() { + return this.b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param b Molang Color + */ + public void b(String b) { + this.b = b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String a() { + return this.a; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param a Molang Color + */ + public void a(String a) { + this.a = a; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/OverlayColor.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/OverlayColor.java new file mode 100644 index 0000000..e8469c8 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/OverlayColor.java @@ -0,0 +1,90 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +import java.lang.String; + +/** + * Overlay Color + *

+ * The color to put over the object. + */ +public class OverlayColor { + public String r; + + public String g; + + public String b; + + public String a; + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String r() { + return this.r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param r Molang Color + */ + public void r(String r) { + this.r = r; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String g() { + return this.g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param g Molang Color + */ + public void g(String g) { + this.g = g; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String b() { + return this.b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param b Molang Color + */ + public void b(String b) { + this.b = b; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @return Molang Color + */ + public String a() { + return this.a; + } + + /** + * A color definition in molang, between 0 and 1. + * + * @param a Molang Color + */ + public void a(String a) { + this.a = a; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/RenderControllers.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/RenderControllers.java new file mode 100644 index 0000000..c17ae89 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/RenderControllers.java @@ -0,0 +1,252 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Render Controllers + *

+ * The collection of render controllers, each property is the identifier of a render controller. + */ +public class RenderControllers { + public Arrays arrays; + + public Color color; + + @JsonProperty("filter_lighting") + public boolean filterLighting; + + public String geometry; + + @JsonProperty("ignore_lighting") + public boolean ignoreLighting; + + @JsonProperty("is_hurt_color") + public IsHurtColor isHurtColor; + + @JsonProperty("light_color_multiplier") + public String lightColorMultiplier; + + private Map materials = new HashMap<>(); + + @JsonProperty("on_fire_color") + public OnFireColor onFireColor; + + @JsonProperty("overlay_color") + public OverlayColor overlayColor; + + @JsonProperty("part_visibility") + private Map partVisibility = new HashMap<>(); + + @JsonProperty("uv_anim") + public UvAnim uvAnim; + + /** + * A collection of definition of arrays. + * + * @return Arrays + */ + public Arrays arrays() { + return this.arrays; + } + + /** + * A collection of definition of arrays. + * + * @param arrays Arrays + */ + public void arrays(Arrays arrays) { + this.arrays = arrays; + } + + /** + * The color to apply. + * + * @return Color + */ + public Color color() { + return this.color; + } + + /** + * The color to apply. + * + * @param color Color + */ + public void color(Color color) { + this.color = color; + } + + /** + * Whenever or not to apply enviroment lighting to this object. + * + * @return Filter Lighting + */ + public boolean filterLighting() { + return this.filterLighting; + } + + /** + * Whenever or not to apply enviroment lighting to this object. + * + * @param filterLighting Filter Lighting + */ + public void filterLighting(boolean filterLighting) { + this.filterLighting = filterLighting; + } + + /** + * Molang definition. + * + * @return Molang + */ + public String geometry() { + return this.geometry; + } + + /** + * Molang definition. + * + * @param geometry Molang + */ + public void geometry(String geometry) { + this.geometry = geometry; + } + + /** + * Whenever or not to apply enviroment lighting to this object. + * + * @return Ignore Lighting + */ + public boolean ignoreLighting() { + return this.ignoreLighting; + } + + /** + * Whenever or not to apply enviroment lighting to this object. + * + * @param ignoreLighting Ignore Lighting + */ + public void ignoreLighting(boolean ignoreLighting) { + this.ignoreLighting = ignoreLighting; + } + + /** + * The color to overlay on the entity when hurt. + * + * @return Is Hurt Color + */ + public IsHurtColor isHurtColor() { + return this.isHurtColor; + } + + /** + * The color to overlay on the entity when hurt. + * + * @param isHurtColor Is Hurt Color + */ + public void isHurtColor(IsHurtColor isHurtColor) { + this.isHurtColor = isHurtColor; + } + + public String lightColorMultiplier() { + return this.lightColorMultiplier; + } + + public void lightColorMultiplier(String lightColorMultiplier) { + this.lightColorMultiplier = lightColorMultiplier; + } + + /** + * The specification where to apply materials to. + * + * @return Materials + */ + public Map materials() { + return this.materials; + } + + /** + * The specification where to apply materials to. + * + * @param materials Materials + */ + public void materials(Map materials) { + this.materials = materials; + } + + /** + * The color that will be overlayed when the object is on fire. + * + * @return On Fire Color + */ + public OnFireColor onFireColor() { + return this.onFireColor; + } + + /** + * The color that will be overlayed when the object is on fire. + * + * @param onFireColor On Fire Color + */ + public void onFireColor(OnFireColor onFireColor) { + this.onFireColor = onFireColor; + } + + /** + * The color to put over the object. + * + * @return Overlay Color + */ + public OverlayColor overlayColor() { + return this.overlayColor; + } + + /** + * The color to put over the object. + * + * @param overlayColor Overlay Color + */ + public void overlayColor(OverlayColor overlayColor) { + this.overlayColor = overlayColor; + } + + /** + * Determines what part of the object to show or hide. + * + * @return Part Visibility + */ + public Map partVisibility() { + return this.partVisibility; + } + + /** + * Determines what part of the object to show or hide. + * + * @param partVisibility Part Visibility + */ + public void partVisibility(Map partVisibility) { + this.partVisibility = partVisibility; + } + + /** + * The UV animation to apply to the render texture. + * + * @return Uv Anim + */ + public UvAnim uvAnim() { + return this.uvAnim; + } + + /** + * The UV animation to apply to the render texture. + * + * @param uvAnim Uv Anim + */ + public void uvAnim(UvAnim uvAnim) { + this.uvAnim = uvAnim; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/UvAnim.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/UvAnim.java new file mode 100644 index 0000000..a63b0a1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/render_controllers/rendercontrollers/UvAnim.java @@ -0,0 +1,9 @@ +package org.geysermc.pack.bedrock.resource.render_controllers.rendercontrollers; + +/** + * Uv Anim + *

+ * The UV animation to apply to the render texture. + */ +public class UvAnim { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/BlockSounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/BlockSounds.java new file mode 100644 index 0000000..57be79a --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/BlockSounds.java @@ -0,0 +1,61 @@ +package org.geysermc.pack.bedrock.resource.sounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Block Sounds + *

+ * Block sound definitions. + */ +public class BlockSounds { + public float[] volume; + + public float[] pitch; + + private Map events = new HashMap<>(); + + /** + * A random selection between a minimum and maximum. + */ + public float[] volume() { + return this.volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public void volume(float[] volume) { + this.volume = volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public float[] pitch() { + return this.pitch; + } + + /** + * A random selection between a minimum and maximum. + */ + public void pitch(float[] pitch) { + this.pitch = pitch; + } + + /** + * @return Events + */ + public Map events() { + return this.events; + } + + /** + * @param events Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/EntitySounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/EntitySounds.java new file mode 100644 index 0000000..89786ea --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/EntitySounds.java @@ -0,0 +1,54 @@ +package org.geysermc.pack.bedrock.resource.sounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.sounds.entitysounds.Defaults; + +/** + * Entity Sounds + *

+ * Entity sounds definitions. + */ +public class EntitySounds { + public Defaults defaults; + + private Map entities = new HashMap<>(); + + /** + * Entity sound definitions. + * + * @return Entity Sound + */ + public Defaults defaults() { + return this.defaults; + } + + /** + * Entity sound definitions. + * + * @param defaults Entity Sound + */ + public void defaults(Defaults defaults) { + this.defaults = defaults; + } + + /** + * Entities definitions. + * + * @return Entities + */ + public Map entities() { + return this.entities; + } + + /** + * Entities definitions. + * + * @param entities Entities + */ + public void entities(Map entities) { + this.entities = entities; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/IndividualEventSounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/IndividualEventSounds.java new file mode 100644 index 0000000..452e825 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/IndividualEventSounds.java @@ -0,0 +1,33 @@ +package org.geysermc.pack.bedrock.resource.sounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Individual Event Sounds + *

+ * Individual event sounds definitions. + */ +public class IndividualEventSounds { + private Map events = new HashMap<>(); + + /** + * Events. + * + * @return Events + */ + public Map events() { + return this.events; + } + + /** + * Events. + * + * @param events Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/InteractiveSounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/InteractiveSounds.java new file mode 100644 index 0000000..6ebe412 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/InteractiveSounds.java @@ -0,0 +1,57 @@ +package org.geysermc.pack.bedrock.resource.sounds; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.sounds.interactivesounds.BlockSounds; +import org.geysermc.pack.bedrock.resource.sounds.interactivesounds.EntitySounds; + +/** + * Interactive Sounds + *

+ * Interactive sounds definitions. + */ +public class InteractiveSounds { + @JsonProperty("block_sounds") + private Map blockSounds = new HashMap<>(); + + @JsonProperty("entity_sounds") + public EntitySounds entitySounds; + + /** + * Block sound definitions. + * + * @return Block Sounds + */ + public Map blockSounds() { + return this.blockSounds; + } + + /** + * Block sound definitions. + * + * @param blockSounds Block Sounds + */ + public void blockSounds(Map blockSounds) { + this.blockSounds = blockSounds; + } + + /** + * Entity sound definitions. + * + * @return Entity Sounds + */ + public EntitySounds entitySounds() { + return this.entitySounds; + } + + /** + * Entity sound definitions. + * + * @param entitySounds Entity Sounds + */ + public void entitySounds(EntitySounds entitySounds) { + this.entitySounds = entitySounds; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/MusicDefinitions.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/MusicDefinitions.java new file mode 100644 index 0000000..d02025b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/MusicDefinitions.java @@ -0,0 +1,66 @@ +package org.geysermc.pack.bedrock.resource.sounds; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; + +/** + * Music File + *

+ * The definition file of music of the resourcepack. + */ +public class MusicDefinitions { + @JsonProperty("event_name") + public String eventName; + + @JsonProperty("min_delay") + public int minDelay; + + @JsonProperty("max_delay") + public int maxDelay; + + /** + * The name of the minecraft music event. + * + * @return Event Name + */ + public String eventName() { + return this.eventName; + } + + /** + * The name of the minecraft music event. + * + * @param eventName Event Name + */ + public void eventName(String eventName) { + this.eventName = eventName; + } + + /** + * @return Minimum Delay + */ + public int minDelay() { + return this.minDelay; + } + + /** + * @param minDelay Minimum Delay + */ + public void minDelay(int minDelay) { + this.minDelay = minDelay; + } + + /** + * @return Maximum Delay + */ + public int maxDelay() { + return this.maxDelay; + } + + /** + * @param maxDelay Maximum Delay + */ + public void maxDelay(int maxDelay) { + this.maxDelay = maxDelay; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/SoundDefinitions.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/SoundDefinitions.java new file mode 100644 index 0000000..475c88d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/SoundDefinitions.java @@ -0,0 +1,69 @@ +package org.geysermc.pack.bedrock.resource.sounds; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Sound Definitions + *

+ * The collection of sound definitions this resourcepack has defined. + */ +public class SoundDefinitions { + @JsonProperty("format_version") + public String formatVersion; + + @JsonProperty("sound_definitions") + private Map soundDefinitions = new HashMap<>(); + + @JsonProperty("__use_legacy_max_distance") + public String useLegacyMaxDistance; + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @return Format Version + */ + public String formatVersion() { + return this.formatVersion; + } + + /** + * A version that tells minecraft what type of data format can be expected when reading this file. + * + * @param formatVersion Format Version + */ + public void formatVersion(String formatVersion) { + this.formatVersion = formatVersion; + } + + /** + * @return Sound Definitions + */ + public Map soundDefinitions() { + return this.soundDefinitions; + } + + /** + * @param soundDefinitions Sound Definitions + */ + public void soundDefinitions(Map soundDefinitions) { + this.soundDefinitions = soundDefinitions; + } + + /** + * @return Use Legacy Maximum Distance + */ + public String useLegacyMaxDistance() { + return this.useLegacyMaxDistance; + } + + /** + * @param useLegacyMaxDistance Use Legacy Maximum Distance + */ + public void useLegacyMaxDistance(String useLegacyMaxDistance) { + this.useLegacyMaxDistance = useLegacyMaxDistance; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/entitysounds/Defaults.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/entitysounds/Defaults.java new file mode 100644 index 0000000..2681b0f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/entitysounds/Defaults.java @@ -0,0 +1,61 @@ +package org.geysermc.pack.bedrock.resource.sounds.entitysounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Entity Sound + *

+ * Entity sound definitions. + */ +public class Defaults { + public float[] volume; + + public float[] pitch; + + private Map events = new HashMap<>(); + + /** + * A random selection between a minimum and maximum. + */ + public float[] volume() { + return this.volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public void volume(float[] volume) { + this.volume = volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public float[] pitch() { + return this.pitch; + } + + /** + * A random selection between a minimum and maximum. + */ + public void pitch(float[] pitch) { + this.pitch = pitch; + } + + /** + * @return Events + */ + public Map events() { + return this.events; + } + + /** + * @param events Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/BlockSounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/BlockSounds.java new file mode 100644 index 0000000..9aa01f1 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/BlockSounds.java @@ -0,0 +1,61 @@ +package org.geysermc.pack.bedrock.resource.sounds.interactivesounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Block Sounds + *

+ * Block sound definitions. + */ +public class BlockSounds { + public float[] volume; + + public float[] pitch; + + private Map events = new HashMap<>(); + + /** + * A random selection between a minimum and maximum. + */ + public float[] volume() { + return this.volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public void volume(float[] volume) { + this.volume = volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public float[] pitch() { + return this.pitch; + } + + /** + * A random selection between a minimum and maximum. + */ + public void pitch(float[] pitch) { + this.pitch = pitch; + } + + /** + * @return Events + */ + public Map events() { + return this.events; + } + + /** + * @param events Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/EntitySounds.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/EntitySounds.java new file mode 100644 index 0000000..3540575 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/EntitySounds.java @@ -0,0 +1,54 @@ +package org.geysermc.pack.bedrock.resource.sounds.interactivesounds; + +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.sounds.interactivesounds.entitysounds.Defaults; +import org.geysermc.pack.bedrock.resource.sounds.interactivesounds.entitysounds.Entities; + +/** + * Entity Sounds + *

+ * Entity sound definitions. + */ +public class EntitySounds { + private Map defaults = new HashMap<>(); + + private Map entities = new HashMap<>(); + + /** + * Default sound definitions. + * + * @return Defaults + */ + public Map defaults() { + return this.defaults; + } + + /** + * Default sound definitions. + * + * @param defaults Defaults + */ + public void defaults(Map defaults) { + this.defaults = defaults; + } + + /** + * Entities sound definitions. + * + * @return Entites Sounds + */ + public Map entities() { + return this.entities; + } + + /** + * Entities sound definitions. + * + * @param entities Entites Sounds + */ + public void entities(Map entities) { + this.entities = entities; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/entitysounds/Defaults.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/entitysounds/Defaults.java new file mode 100644 index 0000000..1ca34aa --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/entitysounds/Defaults.java @@ -0,0 +1,61 @@ +package org.geysermc.pack.bedrock.resource.sounds.interactivesounds.entitysounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Defaults + *

+ * Default sound definitions. + */ +public class Defaults { + public float[] volume; + + public float[] pitch; + + private Map events = new HashMap<>(); + + /** + * A random selection between a minimum and maximum. + */ + public float[] volume() { + return this.volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public void volume(float[] volume) { + this.volume = volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public float[] pitch() { + return this.pitch; + } + + /** + * A random selection between a minimum and maximum. + */ + public void pitch(float[] pitch) { + this.pitch = pitch; + } + + /** + * @return Entity Events + */ + public Map events() { + return this.events; + } + + /** + * @param events Entity Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/entitysounds/Entities.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/entitysounds/Entities.java new file mode 100644 index 0000000..8f1747b --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/sounds/interactivesounds/entitysounds/Entities.java @@ -0,0 +1,61 @@ +package org.geysermc.pack.bedrock.resource.sounds.interactivesounds.entitysounds; + +import java.lang.Object; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; + +/** + * Entites Sounds + *

+ * Entities sound definitions. + */ +public class Entities { + public float[] volume; + + public float[] pitch; + + private Map events = new HashMap<>(); + + /** + * A random selection between a minimum and maximum. + */ + public float[] volume() { + return this.volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public void volume(float[] volume) { + this.volume = volume; + } + + /** + * A random selection between a minimum and maximum. + */ + public float[] pitch() { + return this.pitch; + } + + /** + * A random selection between a minimum and maximum. + */ + public void pitch(float[] pitch) { + this.pitch = pitch; + } + + /** + * @return Entity Events + */ + public Map events() { + return this.events; + } + + /** + * @param events Entity Events + */ + public void events(Map events) { + this.events = events; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/FlipbookTextures.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/FlipbookTextures.java new file mode 100644 index 0000000..2c4af88 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/FlipbookTextures.java @@ -0,0 +1,9 @@ +package org.geysermc.pack.bedrock.resource.textures; + +/** + * Flipbook Texture File + *

+ * The file that specifies animated textures. + */ +public class FlipbookTextures { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/ItemTexture.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/ItemTexture.java new file mode 100644 index 0000000..08de22f --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/ItemTexture.java @@ -0,0 +1,63 @@ +package org.geysermc.pack.bedrock.resource.textures; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.textures.itemtexture.TextureData; + +/** + * Item Texture File + */ +public class ItemTexture { + @JsonProperty("resource_pack_name") + public String resourcePackName; + + @JsonProperty("texture_data") + private Map textureData = new HashMap<>(); + + @JsonProperty("texture_name") + public String textureName; + + /** + * @return Resource Pack Name + */ + public String resourcePackName() { + return this.resourcePackName; + } + + /** + * @param resourcePackName Resource Pack Name + */ + public void resourcePackName(String resourcePackName) { + this.resourcePackName = resourcePackName; + } + + /** + * @return Texture Data + */ + public Map textureData() { + return this.textureData; + } + + /** + * @param textureData Texture Data + */ + public void textureData(Map textureData) { + this.textureData = textureData; + } + + /** + * @return Texture Name + */ + public String textureName() { + return this.textureName; + } + + /** + * @param textureName Texture Name + */ + public void textureName(String textureName) { + this.textureName = textureName; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/TerrainTexture.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/TerrainTexture.java new file mode 100644 index 0000000..46a77ca --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/TerrainTexture.java @@ -0,0 +1,98 @@ +package org.geysermc.pack.bedrock.resource.textures; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.geysermc.pack.bedrock.resource.textures.terraintexture.TextureData; + +/** + * Terrain Texture File + *

+ * An collection of texture definitions. + */ +public class TerrainTexture { + @JsonProperty("num_mip_levels") + public int numMipLevels; + + public int padding; + + @JsonProperty("resource_pack_name") + public String resourcePackName; + + @JsonProperty("texture_data") + private Map textureData = new HashMap<>(); + + @JsonProperty("texture_name") + public String textureName; + + /** + * @return Num Mip Levels + */ + public int numMipLevels() { + return this.numMipLevels; + } + + /** + * @param numMipLevels Num Mip Levels + */ + public void numMipLevels(int numMipLevels) { + this.numMipLevels = numMipLevels; + } + + /** + * @return Padding + */ + public int padding() { + return this.padding; + } + + /** + * @param padding Padding + */ + public void padding(int padding) { + this.padding = padding; + } + + /** + * @return Resource Pack Name + */ + public String resourcePackName() { + return this.resourcePackName; + } + + /** + * @param resourcePackName Resource Pack Name + */ + public void resourcePackName(String resourcePackName) { + this.resourcePackName = resourcePackName; + } + + /** + * @return Texture Data + */ + public Map textureData() { + return this.textureData; + } + + /** + * @param textureData Texture Data + */ + public void textureData(Map textureData) { + this.textureData = textureData; + } + + /** + * @return Texture Name + */ + public String textureName() { + return this.textureName; + } + + /** + * @param textureName Texture Name + */ + public void textureName(String textureName) { + this.textureName = textureName; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/TextureList.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/TextureList.java new file mode 100644 index 0000000..5ca7b3c --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/TextureList.java @@ -0,0 +1,9 @@ +package org.geysermc.pack.bedrock.resource.textures; + +/** + * Texture List + *

+ * A list of texture to load in. + */ +public class TextureList { +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/itemtexture/TextureData.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/itemtexture/TextureData.java new file mode 100644 index 0000000..e262a6d --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/itemtexture/TextureData.java @@ -0,0 +1,28 @@ +package org.geysermc.pack.bedrock.resource.textures.itemtexture; + +import java.lang.String; + +/** + * Texture Data + */ +public class TextureData { + public String textures; + + /** + * A texture file. + * + * @return Texture + */ + public String textures() { + return this.textures; + } + + /** + * A texture file. + * + * @param textures Texture + */ + public void textures(String textures) { + this.textures = textures; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/TextureData.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/TextureData.java new file mode 100644 index 0000000..7c786bd --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/TextureData.java @@ -0,0 +1,28 @@ +package org.geysermc.pack.bedrock.resource.textures.terraintexture; + +import org.geysermc.pack.bedrock.resource.textures.terraintexture.texturedata.Textures; + +/** + * Texture Data + */ +public class TextureData { + public Textures textures; + + /** + * A collection of texture files. + * + * @return Texture + */ + public Textures textures() { + return this.textures; + } + + /** + * A collection of texture files. + * + * @param textures Texture + */ + public void textures(Textures textures) { + this.textures = textures; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/texturedata/Textures.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/texturedata/Textures.java new file mode 100644 index 0000000..923e5e6 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/texturedata/Textures.java @@ -0,0 +1,75 @@ +package org.geysermc.pack.bedrock.resource.textures.terraintexture.texturedata; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.String; +import java.util.ArrayList; +import java.util.List; +import org.geysermc.pack.bedrock.resource.textures.terraintexture.texturedata.textures.Variations; + +/** + * Texture + *

+ * A collection of texture files. + */ +public class Textures { + public String path; + + @JsonProperty("tint_color") + public String tintColor; + + public List variations = new ArrayList<>(); + + /** + * A texture file. + * + * @return Path + */ + public String path() { + return this.path; + } + + /** + * A texture file. + * + * @param path Path + */ + public void path(String path) { + this.path = path; + } + + /** + * The tint color to be applied to the texture. + * + * @return Tint Color + */ + public String tintColor() { + return this.tintColor; + } + + /** + * The tint color to be applied to the texture. + * + * @param tintColor Tint Color + */ + public void tintColor(String tintColor) { + this.tintColor = tintColor; + } + + /** + * The possible variations to use for this texture. + * + * @return Variantions + */ + public List variations() { + return this.variations; + } + + /** + * The possible variations to use for this texture. + * + * @param variations Variantions + */ + public void variations(List variations) { + this.variations = variations; + } +} diff --git a/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/texturedata/textures/Variations.java b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/texturedata/textures/Variations.java new file mode 100644 index 0000000..3892694 --- /dev/null +++ b/pack-schema/bedrock/src/main/java/org/geysermc/pack/bedrock/resource/textures/terraintexture/texturedata/textures/Variations.java @@ -0,0 +1,50 @@ +package org.geysermc.pack.bedrock.resource.textures.terraintexture.texturedata.textures; + +import java.lang.String; + +/** + * Variantion + *

+ * One of the variantions, specified along with a possible weight. + */ +public class Variations { + public String path; + + public int weight; + + /** + * A texture file. + * + * @return Path + */ + public String path() { + return this.path; + } + + /** + * A texture file. + * + * @param path Path + */ + public void path(String path) { + this.path = path; + } + + /** + * The weight of the texture. + * + * @return Weight + */ + public int weight() { + return this.weight; + } + + /** + * The weight of the texture. + * + * @param weight Weight + */ + public void weight(int weight) { + this.weight = weight; + } +} diff --git a/pack-schema/generator/build.gradle.kts b/pack-schema/generator/build.gradle.kts new file mode 100644 index 0000000..4e2becf --- /dev/null +++ b/pack-schema/generator/build.gradle.kts @@ -0,0 +1,11 @@ +dependencies { + implementation("com.fasterxml.jackson.core:jackson-databind:2.14.2") + + implementation("io.vertx:vertx-json-schema:4.4.1") + implementation("com.squareup:javapoet:1.13.0") + implementation("org.jetbrains:annotations:24.0.1") + + implementation("org.apache.commons:commons-lang3:3.12.0") + implementation("org.apache.commons:commons-text:1.10.0") + implementation("org.apache.commons:commons-io:1.3.2") +} \ No newline at end of file diff --git a/pack-schema/generator/src/main/java/org/geysermc/pack/schema/PackSchemaGenerator.java b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/PackSchemaGenerator.java new file mode 100644 index 0000000..a82669b --- /dev/null +++ b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/PackSchemaGenerator.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.schema; + +import org.geysermc.pack.schema.converter.ConverterOptions; +import org.geysermc.pack.schema.converter.JsonTemplateToClassConverter; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.net.URI; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collections; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Stream; + +public class PackSchemaGenerator { + private static final String PACKAGE_NAME = "org.geysermc.pack.bedrock.resource"; + + private static final String GENERAL_SCHEMA_PATH = "/schema/source/general"; + private static final String RESOURCE_SCHEMA_PATH = "/schema/source/resource"; + + private static final Pattern VERSION_PATTERN = Pattern.compile("(?!\\.)(\\d+(\\.\\d+)+)"); + + public static void main(String[] args) throws Exception { + generateSchema(GENERAL_SCHEMA_PATH); + generateSchema(RESOURCE_SCHEMA_PATH); + } + + private static void generateSchema(@NotNull String schemaPath) throws Exception { + URI uri = PackSchemaGenerator.class.getResource(schemaPath).toURI(); + Path myPath; + if (uri.getScheme().equals("jar")) { + FileSystem fileSystem = FileSystems.newFileSystem(uri, Collections.emptyMap()); + myPath = fileSystem.getPath(schemaPath); + } else { + myPath = Paths.get(uri); + } + + Path output = Paths.get("pack-schema/bedrock/src/main/java"); + try (Stream paths = Files.walk(myPath)) { + paths.forEach(path -> { + if (Files.isDirectory(path) || !path.toString().endsWith(".json")) { + return; + } + + try { + Path relativePath = myPath.relativize(path); + String packageName = PACKAGE_NAME; + if (relativePath.getParent() != null) { + String pathName = relativePath.getParent().toString(); + Matcher matcher = VERSION_PATTERN.matcher(pathName); + if (matcher.find()) { + pathName = matcher.replaceAll(result -> "v" + result.group(1).replace(".", "_")); + } + + packageName += "." + pathName.replace(File.separator, "."); + } + + JsonTemplateToClassConverter.convert( + schemaPath + "/" + + relativePath, + packageName, + output, + ConverterOptions.builder() + .collisionPrefix("Minecraft") + .schemaConfig("schema-config.json") + .build() + ); + } catch (Exception ex) { + System.err.println("An error occurred converting " + path); + ex.printStackTrace(); + } + }); + } + } +} diff --git a/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/ConverterOptions.java b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/ConverterOptions.java new file mode 100644 index 0000000..4d349ef --- /dev/null +++ b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/ConverterOptions.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.schema.converter; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.io.InputStream; + +public class ConverterOptions { + private final String collisionPrefix; + private final SchemaConfig schemaConfig; + + private ConverterOptions(String collisionPrefix, String schemaConfig) { + this.collisionPrefix = collisionPrefix; + + InputStream schemaResource = ConverterOptions.class.getResourceAsStream("/" + schemaConfig); + try { + this.schemaConfig = new ObjectMapper().readValue(schemaResource, SchemaConfig.class); + } catch (IOException ex) { + throw new RuntimeException("An error occurred reading schema config " + schemaConfig, ex); + } + } + + public String collisionPrefix() { + return this.collisionPrefix; + } + + public SchemaConfig schemaConfig() { + return this.schemaConfig; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String collisionPrefix = "Json"; + private String schemaConfig = "schema-config.json"; + + public Builder collisionPrefix(String collisionPrefix) { + this.collisionPrefix = collisionPrefix; + return this; + } + + public Builder schemaConfig(String schemaConfig) { + this.schemaConfig = schemaConfig; + return this; + } + + public ConverterOptions build() { + return new ConverterOptions(this.collisionPrefix, this.schemaConfig); + } + } +} diff --git a/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/JsonTemplateToClassConverter.java b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/JsonTemplateToClassConverter.java new file mode 100644 index 0000000..5b6a239 --- /dev/null +++ b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/JsonTemplateToClassConverter.java @@ -0,0 +1,698 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.schema.converter; + +import com.squareup.javapoet.AnnotationSpec; +import com.squareup.javapoet.ClassName; +import com.squareup.javapoet.CodeBlock; +import com.squareup.javapoet.FieldSpec; +import com.squareup.javapoet.JavaFile; +import com.squareup.javapoet.MethodSpec; +import com.squareup.javapoet.ParameterizedTypeName; +import com.squareup.javapoet.TypeName; +import com.squareup.javapoet.TypeSpec; +import io.vertx.core.json.JsonArray; +import io.vertx.core.json.JsonObject; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.commons.text.CaseUtils; +import org.geysermc.pack.schema.PackSchemaGenerator; +import org.jetbrains.annotations.NotNull; + +import javax.lang.model.element.Modifier; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +/** + * This class is used to convert a JSON template to a Java class. + */ +public final class JsonTemplateToClassConverter { + + /** + * Converts a JSON template to a Java class. + * + * @param input the input + * @param packageName the package name + * @param output the output path + * @throws IOException if an I/O error occurs + */ + public static void convert(@NotNull String input, @NotNull String packageName, @NotNull Path output, @NotNull ConverterOptions options) throws Exception { + URL source = PackSchemaGenerator.class.getResource(input); + + try (InputStream stream = source.openStream()) { + JsonObject schema = new JsonObject(new String(stream.readAllBytes(), StandardCharsets.UTF_8)); + String className = CaseUtils.toCamelCase(FilenameUtils.getBaseName(input), true, '_'); + + if (!schema.containsKey("$schema")) { + return; + } + + TypeSpec rootClass = createClass(input, packageName, schema, schema, className, className, className, output, options); + JavaFile javaFile = JavaFile.builder(packageName, rootClass) + .build(); + + javaFile.writeTo(output); + } + } + + private static TypeSpec createClass(@NotNull String input, @NotNull String packageName, @NotNull JsonObject parentSchema, @NotNull JsonObject schema, @NotNull String rootClassName, @NotNull String prevClassName, @NotNull String className, @NotNull Path output, @NotNull ConverterOptions options) { + // Check resolvers on root first + ResolvedReference forwarded = resolveConditionals(input, rootClassName, parentSchema, schema, "", options); + if (forwarded != null) { + return createClass(input, packageName, forwarded.parentObject(), forwarded.object(), rootClassName, prevClassName, className, output, options); + } + + forwarded = flattenReference( + input, + rootClassName, + prevClassName, + parentSchema, + schema, + className, + output, + options + ); + + if (forwarded != null) { + return createClass(input, packageName, forwarded.parentObject(), forwarded.object(), rootClassName, prevClassName, className, output, options); + } + + // Replace illegal characters + className = className.replace("-", "Minus"); + className = className.replace("+", "Plus"); + + packageName = packageName.replace("-", "_"); + packageName = packageName.replace("+", "plus"); + + TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC); + + String title = schema.getString("title"); + if (title != null) { + classBuilder.addJavadoc(title); + } + + String description = schema.getString("description"); + if (description != null && !description.contains("UNDOCUMENTED")) { + if (title != null) { + classBuilder.addJavadoc("\n"); + classBuilder.addJavadoc("

"); + classBuilder.addJavadoc("\n"); + } + classBuilder.addJavadoc(description); + } + + if (schema.containsKey("properties")) { + parseProperties(input, packageName, rootClassName, className, classBuilder, parentSchema, schema, "properties", output, options); + } + + if (schema.getValue("additionalProperties") instanceof JsonObject value) { + if (value.containsKey("properties")) { + parseProperties(input, packageName, rootClassName, className, classBuilder, parentSchema, value, "properties", output, options); + } else { + System.out.println("Unknown additional properties: " + value); + } + } + + return classBuilder.build(); + } + + private static ResolvedReference flattenReference(@NotNull String input, @NotNull String rootClassName, @NotNull String prevClassName, @NotNull JsonObject parentSchema, @NotNull JsonObject schema, @NotNull String className, @NotNull Path output, @NotNull ConverterOptions options) { + ResolvedReference forwarded = null; + if (schema.fieldNames().contains("allOf")) { + forwarded = resolveConditionals(input, rootClassName, parentSchema, schema, "allOf", options); + } else if (schema.fieldNames().contains("anyOf")) { + forwarded = resolveConditionals(input, rootClassName, parentSchema, schema, "anyOf", options); + } else if (schema.fieldNames().contains("oneOf")) { + forwarded = resolveConditionals(input, rootClassName, parentSchema, schema, "oneOf", options); + } + + return forwarded; + } + + private static void parseProperties(@NotNull String input, @NotNull String packageName, @NotNull String rootClassName, @NotNull String prevClassName, @NotNull TypeSpec.Builder classBuilder, @NotNull JsonObject parentSchema, @NotNull JsonObject schema, @NotNull String propertiesName, @NotNull Path output, @NotNull ConverterOptions options) { + // Replace illegal characters + packageName = packageName.replace("-", "minus"); + packageName = packageName.replace("+", "plus"); + + JsonObject properties = schema.getJsonObject(propertiesName); + if (properties != null) { + for (Map.Entry property : properties) { + if (!(property.getValue() instanceof JsonObject propertyValue)) { + continue; + } + + String fieldName = property.getKey(); + if (fieldName.contains(":")) { + fieldName = fieldName.split(":")[1]; + } + + if (fieldName.contains("+")) { + fieldName = fieldName.replace("+", ""); + } + + if (fieldName.contains("-")) { + fieldName = fieldName.replace("-", "_"); + } + + String newPackageName = packageName; + if (!packageName.endsWith(prevClassName.toLowerCase(Locale.ROOT))) { + newPackageName += "." + prevClassName.toLowerCase(Locale.ROOT); + } + + parseProperty( + property.getKey(), + newPackageName, + propertyValue, + input, + rootClassName, + prevClassName, + classBuilder, + parentSchema, + output, + options + ); + } + } + } + + private static void parseProperty(@NotNull String propertyName, @NotNull String packageName, @NotNull JsonObject propertyValue, @NotNull String input, @NotNull String rootClassName, @NotNull String prevClassName, @NotNull TypeSpec.Builder classBuilder, @NotNull JsonObject parentSchema, @NotNull Path output, @NotNull ConverterOptions options) { + String fieldName = propertyName; + if (propertyName.contains("_")) { + fieldName = CaseUtils.toCamelCase(propertyName, false, '_'); + } + + if (fieldName.contains(":")) { + fieldName = fieldName.split(":")[1]; + } + + // Replace illegal characters + packageName = packageName.replace("-", "minus"); + packageName = packageName.replace("+", "plus"); + + if (fieldName.contains("+")) { + fieldName = fieldName.replace("+", "plus_"); + fieldName = CaseUtils.toCamelCase(fieldName, false, '_'); + } + + if (fieldName.contains("-")) { + fieldName = fieldName.replace("-", "minus_"); + fieldName = CaseUtils.toCamelCase(fieldName, false, '_'); + } + + if (prevClassName.equals("TextureData")) { + System.out.println("Schema: " + propertyValue); + } + + ResolvedReference flatRef = flattenReference( + input, + rootClassName, + prevClassName, + parentSchema, + propertyValue, + fieldName, + output, + options + ); + + if (flatRef != null) { + propertyValue = flatRef.object(); + parentSchema = flatRef.parentObject(); + } + + if (prevClassName.equals("TextureData")) { + System.out.println("Schema new: " + propertyValue); + } + + String propertyType = propertyValue.getString("type"); + if (propertyType == null) { + if (propertyValue.containsKey("properties")) { + propertyType = "object"; + } + } + + // Handle default Java param + if (fieldName.equals("default")) { + fieldName = "defaultValue"; + } + + if (propertyType != null) { + FieldSpec.Builder spec = switch (propertyType) { + case "string" -> FieldSpec.builder(String.class, fieldName, Modifier.PUBLIC); + case "integer" -> FieldSpec.builder(int.class, fieldName, Modifier.PUBLIC); + case "number" -> FieldSpec.builder(float.class, fieldName, Modifier.PUBLIC); + case "boolean" -> FieldSpec.builder(boolean.class, fieldName, Modifier.PUBLIC); + case "object" -> FieldSpec.builder(ClassName.get(packageName, StringUtils.capitalize(fieldName)), fieldName, Modifier.PUBLIC); + default -> null; + }; + + if (propertyType.equals("array")) { + if (propertyValue.getValue("items") instanceof JsonObject items) { + ResolvedReference resolvedReference = flattenReference( + input, + rootClassName, + prevClassName, + parentSchema, + items, + StringUtils.capitalize(fieldName), + output, + options + ); + + if (resolvedReference != null) { + items = resolvedReference.object(); + parentSchema = resolvedReference.parentObject(); + } + + if (items.containsKey("type")) { + String type = items.getString("type"); + switch (type) { + case "string" -> spec = FieldSpec.builder(String[].class, fieldName, Modifier.PUBLIC); + case "integer" -> spec = FieldSpec.builder(int[].class, fieldName, Modifier.PUBLIC); + case "number" -> spec = FieldSpec.builder(float[].class, fieldName, Modifier.PUBLIC); + case "boolean" -> spec = FieldSpec.builder(boolean[].class, fieldName, Modifier.PUBLIC); + case "object" -> { + ParameterizedTypeName mainType = ParameterizedTypeName.get(ClassName.get(List.class), + ClassName.get(packageName, StringUtils.capitalize(fieldName))); + + spec = FieldSpec.builder(mainType, fieldName, Modifier.PUBLIC) + .initializer(CodeBlock.of("new $T<>()", ArrayList.class)); + + FieldSpec.Builder altSpec = createObjectField( + classBuilder, + packageName, + input, + fieldName, + rootClassName, + prevClassName, + items, + parentSchema, + output, + options + ); + + if (altSpec != null) { + spec = altSpec; + } + } + } + } + } else { + // See if there is an item array we can pull the type from + if (propertyValue.getValue("items") instanceof JsonArray array && array.size() > 0) { + if (array.getValue(0) instanceof JsonObject object) { + String type = object.getString("type"); + if (type != null) { + switch (type) { + case "string" -> spec = FieldSpec.builder(String[].class, fieldName, Modifier.PUBLIC); + case "integer" -> spec = FieldSpec.builder(int[].class, fieldName, Modifier.PUBLIC); + case "number" -> spec = FieldSpec.builder(float[].class, fieldName, Modifier.PUBLIC); + case "boolean" -> spec = FieldSpec.builder(boolean[].class, fieldName, Modifier.PUBLIC); + } + } + } + } else { + spec = FieldSpec.builder(String[].class, fieldName, Modifier.PUBLIC); + } + } + } + + if (propertyType.equals("object")) { + FieldSpec.Builder altSpec = createObjectField( + classBuilder, + packageName, + input, + fieldName, + rootClassName, + prevClassName, + propertyValue, + parentSchema, + output, + options + ); + if (altSpec != null) { + spec = altSpec; + } + } + + if (spec != null) { + if (!fieldName.equals(propertyName)) { + AnnotationSpec annotation = AnnotationSpec.builder(ClassName.get("com.fasterxml.jackson.annotation", "JsonProperty")) + .addMember("value", CodeBlock.of("\"" + propertyName + "\"")) + .build(); + + spec.addAnnotation(annotation); + } + + // TODO: Why does this happen? + FieldSpec newSpec = spec.build(); + if (classBuilder.fieldSpecs.contains(newSpec)) { + System.err.println("Tried to add duplicate field: " + newSpec.name + " to class: " + rootClassName); + return; + } + + classBuilder.addField(newSpec); + + // Add getter + MethodSpec.Builder getterBuilder = MethodSpec.methodBuilder(fieldName) + .addModifiers(Modifier.PUBLIC) + .returns(spec.build().type) + .addStatement("return this.$L", fieldName); + + String propertyDescription = propertyValue.getString("description"); + if (propertyDescription != null && !propertyDescription.contains("UNDOCUMENTED")) { + getterBuilder.addJavadoc(propertyDescription); + } + + if (propertyValue.containsKey("title")) { + if (propertyDescription != null && !propertyDescription.contains("UNDOCUMENTED")) { + getterBuilder.addJavadoc("\n\n"); + } + + getterBuilder.addJavadoc("@return " + propertyValue.getString("title")); + } + + classBuilder.addMethod(getterBuilder.build()); + + // Add setter + MethodSpec.Builder setterBuilder = MethodSpec.methodBuilder(fieldName) + .addModifiers(Modifier.PUBLIC) + .addParameter(spec.build().type, fieldName) + .addStatement("this.$L = $L", fieldName, fieldName); + + if (propertyDescription != null && !propertyDescription.contains("UNDOCUMENTED")) { + setterBuilder.addJavadoc(propertyDescription); + } + + if (propertyValue.containsKey("title")) { + if (propertyDescription != null && !propertyDescription.contains("UNDOCUMENTED")) { + setterBuilder.addJavadoc("\n\n"); + } + + setterBuilder.addJavadoc("@param " + fieldName + " " + propertyValue.getString("title")); + } + + classBuilder.addMethod(setterBuilder.build()); + } + } + + String ref = propertyValue.getString("$ref"); + if (ref != null) { + ResolvedReference refSchema = parseRef(input, parentSchema, propertyValue); + if (refSchema != null) { + String newPackageName = packageName; + if (!packageName.endsWith(prevClassName.toLowerCase(Locale.ROOT))) { + newPackageName += "." + prevClassName.toLowerCase(Locale.ROOT); + } + + parseProperty( + propertyName, + newPackageName, + refSchema.object(), + input, + rootClassName, + prevClassName, + classBuilder, + parentSchema, + output, + options + ); + + /* + String className = StringUtils.capitalize(fieldName); + if (rootClassName.equals(className)) { + className = options.collisionPrefix() + className; + } + + TypeSpec propertyClass = createClass(input, refSchema.parentObject(), refSchema.object(), rootClassName, className, output, options); + classBuilder.addType(propertyClass.toBuilder() + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + + */ + } + } + } + + private static FieldSpec.Builder createObjectField(@NotNull TypeSpec.Builder classBuilder, @NotNull String packageName, @NotNull String input, @NotNull String fieldName, @NotNull String rootClassName, @NotNull String prevClassName, @NotNull JsonObject propertyValue, @NotNull JsonObject parentSchema, @NotNull Path output, @NotNull ConverterOptions options) { + String className = StringUtils.capitalize(fieldName); + + // Check if we need to create a new class or just a HashMap. + // If the class has an additionalProperties key without any + // properties, the types are not explicitly defined. + if (propertyValue.getValue("additionalProperties") instanceof JsonObject object && !object.containsKey("properties")) { + String type = object.getString("type") == null ? "object" : object.getString("type"); + Class classType = switch (type) { + case "string" -> String.class; + case "integer" -> Integer.class; + case "number" -> Float.class; + case "boolean" -> Boolean.class; + case "array" -> String[].class; + default -> Object.class; + }; + + ParameterizedTypeName mainType = ParameterizedTypeName.get(Map.class, + String.class, + classType); + + return FieldSpec.builder(mainType, + fieldName, + Modifier.PRIVATE) + .initializer(CodeBlock.of("new $T<>()", HashMap.class)); + } else { + // Replace illegal characters + className = className.replace("-", "Minus"); + className = className.replace("+", "Plus"); + + packageName = packageName.replace("-", "_"); + packageName = packageName.replace("+", "plus"); + + TypeSpec.Builder propertyClass = createClass(input, packageName, parentSchema, propertyValue, rootClassName, prevClassName, className, output, options).toBuilder(); + + // Field will be a map + FieldSpec.Builder spec = null; + if (propertyValue.getValue("additionalProperties") instanceof JsonObject object && object.containsKey("properties")) { + ParameterizedTypeName mainType = ParameterizedTypeName.get(ClassName.get(Map.class), + TypeName.get(String.class), + ClassName.get(packageName, className)); + + parseProperties( + input, + packageName, + rootClassName, + className, + propertyClass, + parentSchema, + object, + "properties", + output, + options + ); + + spec = FieldSpec.builder(mainType, + fieldName, + Modifier.PRIVATE) + .initializer(CodeBlock.of("new $T<>()", HashMap.class)); + } + + JavaFile javaFile = JavaFile.builder(packageName, propertyClass.build()) + .build(); + + try { + javaFile.writeTo(output); + } catch (IOException e) { + throw new RuntimeException(e); + } + + return spec; + } + } + + private static ResolvedReference resolveConditionals(@NotNull String input, @NotNull String rootClassName, @NotNull JsonObject parentSchema, @NotNull JsonObject schema, @NotNull String type, @NotNull ConverterOptions options) { + ResolvedReference rootResolved = resolveIf(input, schema, parentSchema, rootClassName, options); + if (rootResolved != null) { + return rootResolved; + } + + if (type.equals("allOf")) { + JsonArray array = schema.getJsonArray("allOf"); + for (Object object : array) { + if (!(object instanceof JsonObject jsonObject)) { + continue; + } + + ResolvedReference resolved = resolveIf(input, jsonObject, parentSchema, rootClassName, options); + if (resolved != null) { + return resolved; + } + } + } else if (type.equals("anyOf") || type.equals("oneOf")) { + JsonArray array = schema.getJsonArray(type); + List errors = new ArrayList<>(); + int i = 0; + + // TODO: Add an option to combine objecs + for (Object object : array) { + if (!(object instanceof JsonObject jsonObject)) { + continue; + } + + String title = jsonObject.getString("title", "main") + .toLowerCase(Locale.ROOT) + .replace(" ", "_"); + + String name = rootClassName + "." + title + "." + type; + if (type.equals("oneOf")) { + name += "." + i++; + } + String anyType = jsonObject.getString("type", jsonObject.containsKey("$ref") ? "ref" : "unknown"); + + Object configuredOption = options.schemaConfig().getTypes().get(name); + if (anyType.equals(configuredOption)) { + return new ResolvedReference(jsonObject, parentSchema); + } else { + errors.add("Could not find " + name); + errors.add("Found " + configuredOption + " but expected " + anyType); + } + } + + errors.forEach(System.err::println); + } + + return null; + } + + private static ResolvedReference resolveIf(@NotNull String input, @NotNull JsonObject jsonObject, @NotNull JsonObject parentSchema, @NotNull String rootClassName, @NotNull ConverterOptions options) { + JsonObject ifStatement = jsonObject.getJsonObject("if"); + if (ifStatement != null) { + Pair ifConst = ifConst(ifStatement, rootClassName); + if (ifConst != null) { + Object constValue = ifConst.getValue().getValue("const"); + Object configuredOption = options.schemaConfig().getConditionals().get(ifConst.getKey()); + if (constValue.equals(configuredOption)) { + return parseRef(input, parentSchema, jsonObject.getJsonObject("then")); + } else if (configuredOption == null) { + System.err.println("Could not find " + ifConst.getKey() + " in " + options.schemaConfig().getConditionals()); + } else { + if (jsonObject.getJsonObject("else") != null) { + return parseRef(input, parentSchema, jsonObject.getJsonObject("else")); + } + + System.out.println("Skipping " + ifConst.getKey() + " because " + constValue + " != " + configuredOption); + } + } + } + + return null; + } + + private static ResolvedReference parseRef(@NotNull String input, @NotNull JsonObject parentJson, @NotNull JsonObject object) { + String ref = object.getString("$ref"); + + // Definition is inside this JSON file + if (ref.startsWith("#")) { + JsonObject obj = parentJson; + for (String s : ref.split("/")) { + if (s.equals("#")) { + continue; + } + + if (!obj.containsKey(s)) { + System.err.println("Ref: " + ref); + System.err.println("Could not find " + s + " in " + obj + " when parsing reference"); + return null; + } + + obj = obj.getJsonObject(s); + } + + // Parse any additional references + if (obj.containsKey("$ref")) { + return parseRef(input, parentJson, obj); + } + + return new ResolvedReference(obj, parentJson); + } + + String location = FilenameUtils.concat(FilenameUtils.getFullPathNoEndSeparator(input), ref); + + URL source = PackSchemaGenerator.class.getResource(location); + if (source == null) { + // No clue why this happens, since inside the JSON file + // everything is just fine. Somewhere, somehow, an extra + // relative path is being added for a few cases, so this + // works around that. + if (ref.startsWith("../")) { + location = FilenameUtils.concat(FilenameUtils.getFullPathNoEndSeparator(input), ref.substring(3)); + } + + source = PackSchemaGenerator.class.getResource(location); + if (source == null) { + System.err.println("Could not find schema: " + location); + return null; + } + } + + try (InputStream stream = source.openStream()) { + JsonObject reference = new JsonObject(new String(stream.readAllBytes(), StandardCharsets.UTF_8)); + return new ResolvedReference(reference, reference); + } catch (IOException ex) { + ex.printStackTrace(); + } + + return null; + } + + private static Pair ifConst(@NotNull JsonObject object, @NotNull String level) { + if (object.containsKey("const")) { + return Pair.of(level, object); + } + + for (Map.Entry entry : object) { + if (entry.getValue() instanceof JsonObject value) { + Pair constantValue = ifConst(value, level + "." + entry.getKey()); + if (constantValue != null) { + return constantValue; + } + } + } + + return null; + } + + public record ResolvedReference(@NotNull JsonObject object, @NotNull JsonObject parentObject) { + } +} diff --git a/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/SchemaConfig.java b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/SchemaConfig.java new file mode 100644 index 0000000..58e7ee9 --- /dev/null +++ b/pack-schema/generator/src/main/java/org/geysermc/pack/schema/converter/SchemaConfig.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2019-2023 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/PackConverter + * + */ + +package org.geysermc.pack.schema.converter; + +import java.util.HashMap; +import java.util.Map; + +public class SchemaConfig { + + private final Map conditionals = new HashMap<>(); + private final Map types = new HashMap<>(); + + public Map getConditionals() { + return conditionals; + } + + public Map getTypes() { + return types; + } +} diff --git a/pack-schema/generator/src/main/resources/schema b/pack-schema/generator/src/main/resources/schema new file mode 160000 index 0000000..c7c9f67 --- /dev/null +++ b/pack-schema/generator/src/main/resources/schema @@ -0,0 +1 @@ +Subproject commit c7c9f670bf7d477b160c6f3d092888efcf30bb7f diff --git a/pack-schema/generator/src/main/resources/schema-config.json b/pack-schema/generator/src/main/resources/schema-config.json new file mode 100644 index 0000000..65e841b --- /dev/null +++ b/pack-schema/generator/src/main/resources/schema-config.json @@ -0,0 +1,40 @@ +{ + "conditionals": { + "Manifest.properties.format_version": 2, + "Attachables.properties.format_version": "1.10.0", + "Items.properties.format_version": "1.10.0", + "Entity.properties.format_version": "1.10.0", + "ModelEntity.properties.format_version": "1.16.0" + }, + "types": { + "Particles.main.anyOf": "string", + "RenderControllers.color_number.anyOf": "string", + "RenderControllers.molang_color.anyOf": "string", + "RenderControllers.main.anyOf": "string", + "AnimationController.main.anyOf": "string", + "AnimationController.main.oneOf.0": "number", + "ActorAnimation.main.anyOf": "string", + "ActorAnimation.main.oneOf.0": "array", + "ActorAnimation.main.oneOf.1": "object", + "ActorAnimation.main.oneOf.2": "object", + "Manifest.dependency.oneOf.0": "object", + "Sounds.main.oneOf.1": "array", + "Fog.main.oneOf.0": "array", + "Entity.main.oneOf.1": "string", + "Entity.render_controller.oneOf.0": "string", + "Blocks.main.oneOf.1": "object", + "Entity.animation_(controller)_condition.oneOf.1": "object", + "Attachables.animate.oneOf.1": "object", + "TerrainTexture.main.oneOf.0": "ref", + "TerrainTexture.texture.oneOf.1": "object", + "ItemTexture.main.oneOf.0": "ref", + "ItemTexture.texture.oneOf.0": "string", + "Entity.main.anyOf": "string", + "Blocks.format_version.oneOf.1": "array", + "Particles.main.oneOf.0": "string", + "Particles.main.oneOf.1": "string", + "Attachables.main.anyOf": "string", + "ModelEntity.main.oneOf.0": "object", + "ModelEntity.main.oneOf.1": "array" + } +} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 74ead33..debb943 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,12 @@ rootProject.name = "packconverter-parent" -include("converter", "bootstrap") \ No newline at end of file +include(":bootstrap") +include(":converter") + +include(":pack-schema-api") +include(":bedrock-pack-schema") +include(":schema-generator") + +project(":pack-schema-api").projectDir = file("pack-schema/api") +project(":bedrock-pack-schema").projectDir = file("pack-schema/bedrock") +project(":schema-generator").projectDir = file("pack-schema/generator") \ No newline at end of file