diff --git a/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java b/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java index b6d2e21..b1318a4 100644 --- a/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java +++ b/converter/src/main/java/org/geysermc/pack/converter/PackConverter.java @@ -54,8 +54,7 @@ public class PackConverter { private Path input; private Path output; - private ActionListener actionListener = new ActionListener() { - }; + private final List actionListeners = new ArrayList<>(); @Getter private final Map> customModelData = new HashMap<>(); @@ -97,8 +96,8 @@ public class PackConverter { return this; } - public PackConverter actionListener(@NotNull ActionListener actionListener) { - this.actionListener = actionListener; + public PackConverter actionListeners(@NotNull ActionListener... actionListeners) { + this.actionListeners.addAll(List.of(actionListeners)); return this; } @@ -135,9 +134,9 @@ public class PackConverter { PackConversionContext context = new PackConversionContext<>(data, this, javaResourcePack, bedrockResourcePack, this.logListener); try { - this.actionListener.preConvert(context); + this.actionListeners.forEach(actionListener -> actionListener.preConvert(context)); converter.convert(context); - this.actionListener.postConvert(context); + this.actionListeners.forEach(actionListener -> actionListener.postConvert(context)); } catch (Throwable t) { this.logListener.error("Error converting pack!", t); errors++;