diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/config/BufferedImageLoader.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/config/BufferedImageLoader.java deleted file mode 100644 index eb7087884..000000000 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/config/BufferedImageLoader.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * This file is part of Terra. - * - * Terra is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Terra is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Terra. If not, see . - */ - -package com.dfsek.terra.config.loaders.config; - -import com.dfsek.tectonic.api.depth.DepthTracker; -import com.dfsek.tectonic.api.exception.LoadException; -import com.dfsek.tectonic.api.loader.ConfigLoader; -import com.dfsek.tectonic.api.loader.type.TypeLoader; -import org.jetbrains.annotations.NotNull; - -import javax.imageio.ImageIO; -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.lang.reflect.AnnotatedType; -import java.nio.file.Files; -import java.util.concurrent.ConcurrentHashMap; - -import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.api.properties.Properties; - - -/* - * @deprecated Use the Image and ImageLoader class provided by the library-image addon instead. This is subject to removal in v7. - */ -@Deprecated -public class BufferedImageLoader implements TypeLoader { - - private final ConfigPack pack; - - public BufferedImageLoader(ConfigPack pack) { - this.pack = pack; - if(!pack.getContext().has(ImageCache.class)) - pack.getContext().put(new ImageCache(new ConcurrentHashMap<>())); - } - - @Override - public BufferedImage load(@NotNull AnnotatedType t, @NotNull Object c, @NotNull ConfigLoader loader, DepthTracker depthTracker) - throws LoadException { - return pack.getContext().get(ImageCache.class).map.computeIfAbsent((String) c, s -> { - try { - return ImageIO.read(Files.newInputStream(pack.getRootPath().resolve(s))); - } catch(IOException e) { - throw new LoadException("Unable to load image", e, depthTracker); - } - }); - } - - /* - * Cache prevents configs from loading the same image multiple times into memory - */ - private record ImageCache(ConcurrentHashMap map) implements Properties { - } -} diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java index c4cc03417..42530b81f 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java @@ -33,7 +33,6 @@ import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.awt.image.BufferedImage; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.ParameterizedType; @@ -77,7 +76,6 @@ import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage; import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider; import com.dfsek.terra.config.loaders.GenericTemplateSupplierLoader; -import com.dfsek.terra.config.loaders.config.BufferedImageLoader; import com.dfsek.terra.config.preprocessor.MetaListLikePreprocessor; import com.dfsek.terra.config.preprocessor.MetaMapPreprocessor; import com.dfsek.terra.config.preprocessor.MetaNumberPreprocessor; @@ -273,8 +271,7 @@ public class ConfigPackImpl implements ConfigPack { @Override public void register(TypeRegistry registry) { - registry.registerLoader(ConfigType.class, configTypeRegistry) - .registerLoader(BufferedImage.class, new BufferedImageLoader(this)); + registry.registerLoader(ConfigType.class, configTypeRegistry); registryMap.forEach(registry::registerLoader); shortcuts.forEach(registry::registerLoader); // overwrite with delegated shortcuts if present }