From 762b248641714470d975680432ecde595f6c2bbf Mon Sep 17 00:00:00 2001 From: dfsek Date: Thu, 29 Apr 2021 23:42:56 -0700 Subject: [PATCH] update to latest Tectonic --- common/build.gradle.kts | 2 +- .../com/dfsek/terra/config/fileloaders/Loader.java | 9 +++++++-- .../dfsek/terra/config/fileloaders/ZIPLoader.java | 2 +- .../com/dfsek/terra/config/pack/ConfigPack.java | 14 +++++++------- .../com/dfsek/terra/registry/OpenRegistry.java | 4 +++- .../dfsek/terra/registry/config/FloraRegistry.java | 6 ------ 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/common/build.gradle.kts b/common/build.gradle.kts index ec58b60e9..ef4e40978 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -14,7 +14,7 @@ dependencies { "shadedApi"("commons-io:commons-io:2.4") "shadedApi"("com.dfsek:Paralithic:0.3.2") - "shadedApi"("com.dfsek:Tectonic:1.2.3") + "shadedApi"("com.dfsek:Tectonic:1.3.1") "shadedApi"("net.jafama:jafama:2.3.2") "shadedApi"("org.yaml:snakeyaml:1.27") "shadedApi"("org.ow2.asm:asm:9.0") diff --git a/common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java b/common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java index b6d2a4b8a..c4b0bf6c7 100644 --- a/common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java +++ b/common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java @@ -1,5 +1,6 @@ package com.dfsek.terra.config.fileloaders; +import com.dfsek.tectonic.config.Configuration; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.terra.api.util.GlueList; @@ -18,8 +19,12 @@ public abstract class Loader { * * @param consumer Something to do with the streams. */ - public Loader then(ExceptionalConsumer> consumer) throws ConfigException { - consumer.accept(new GlueList<>(streams.values())); + public Loader then(ExceptionalConsumer> consumer) throws ConfigException { + List list = new GlueList<>(); + streams.forEach((id, stream) -> { + list.add(new Configuration(stream, id)); + }); + consumer.accept(list); return this; } diff --git a/common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java b/common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java index d10449a37..8c94af81a 100644 --- a/common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java @@ -30,7 +30,7 @@ public class ZIPLoader extends Loader { ZipEntry entry = entries.nextElement(); if(!entry.isDirectory() && entry.getName().startsWith(directory) && entry.getName().endsWith(extension)) { try { - String rel = entry.getName().substring(directory.length() + 1); + String rel = entry.getName().substring(directory.length()); streams.put(rel, file.getInputStream(entry)); } catch(IOException e) { e.printStackTrace(); diff --git a/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java index abfeb2266..02772f633 100644 --- a/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java +++ b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java @@ -237,13 +237,13 @@ public class ConfigPack implements LoaderRegistrar { }).close(); loader - .open("carving", ".yml").then(streams -> buildAll(new CarverFactory(this), carverRegistry, abstractConfigLoader.load(streams, CarverTemplate::new), main)).close() - .open("palettes", ".yml").then(streams -> buildAll(new PaletteFactory(), paletteRegistry, abstractConfigLoader.load(streams, PaletteTemplate::new), main)).close() - .open("ores", ".yml").then(streams -> buildAll(new OreFactory(), oreRegistry, abstractConfigLoader.load(streams, OreTemplate::new), main)).close() - .open("structures/trees", ".yml").then(streams -> buildAll(new TreeFactory(), treeRegistry, abstractConfigLoader.load(streams, TreeTemplate::new), main)).close() - .open("structures/structures", ".yml").then(streams -> buildAll(new StructureFactory(), structureRegistry, abstractConfigLoader.load(streams, StructureTemplate::new), main)).close() - .open("flora", ".yml").then(streams -> buildAll(new FloraFactory(), floraRegistry, abstractConfigLoader.load(streams, FloraTemplate::new), main)).close() - .open("biomes", ".yml").then(streams -> buildAll(new BiomeFactory(this), biomeRegistry, abstractConfigLoader.load(streams, () -> new BiomeTemplate(this, main)), main)).close(); + .open("carving", ".yml").then(configs -> buildAll(new CarverFactory(this), carverRegistry, abstractConfigLoader.loadConfigs(configs, CarverTemplate::new), main)).close() + .open("palettes", ".yml").then(configs -> buildAll(new PaletteFactory(), paletteRegistry, abstractConfigLoader.loadConfigs(configs, PaletteTemplate::new), main)).close() + .open("ores", ".yml").then(configs -> buildAll(new OreFactory(), oreRegistry, abstractConfigLoader.loadConfigs(configs, OreTemplate::new), main)).close() + .open("structures/trees", ".yml").then(configs -> buildAll(new TreeFactory(), treeRegistry, abstractConfigLoader.loadConfigs(configs, TreeTemplate::new), main)).close() + .open("structures/structures", ".yml").then(configs -> buildAll(new StructureFactory(), structureRegistry, abstractConfigLoader.loadConfigs(configs, StructureTemplate::new), main)).close() + .open("flora", ".yml").then(configs -> buildAll(new FloraFactory(), floraRegistry, abstractConfigLoader.loadConfigs(configs, FloraTemplate::new), main)).close() + .open("biomes", ".yml").then(configs -> buildAll(new BiomeFactory(this), biomeRegistry, abstractConfigLoader.loadConfigs(configs, () -> new BiomeTemplate(this, main)), main)).close(); main.getEventManager().callEvent(new ConfigPackPostLoadEvent(this)); main.logger().info("Loaded config pack \"" + template.getID() + "\" v" + template.getVersion() + " by " + template.getAuthor() + " in " + (System.nanoTime() - start) / 1000000D + "ms."); diff --git a/common/src/main/java/com/dfsek/terra/registry/OpenRegistry.java b/common/src/main/java/com/dfsek/terra/registry/OpenRegistry.java index 597b5f607..6f4c179f0 100644 --- a/common/src/main/java/com/dfsek/terra/registry/OpenRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/OpenRegistry.java @@ -65,7 +65,9 @@ public class OpenRegistry implements Registry { @Override public T get(String identifier) { - return objects.get(identifier).getValue(); + Entry entry = objects.get(identifier); + if(entry == null) return null; + return entry.getValue(); } @Override diff --git a/common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java b/common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java index 878890bff..65858b8ad 100644 --- a/common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java @@ -68,10 +68,4 @@ public class FloraRegistry extends OpenRegistry { private BlockData data(String s) { return main.getWorldHandle().createBlockData(s); } - - - @Override - public Flora get(String identifier) { - return super.get(identifier); - } }