create_ponder_wonder

Exports Create ponders to disk.
git clone git://git.oshgnacknak.de/create_ponder_wonder.git
Log | Files | Refs | README

commit 7ab09e3351743d8bc79790f4fab36dfd3af104c7
parent 7ba708c3e165b37a4b59dc7502e1db1172b060fe
Author: Oshgnacknak <osh@oshgnacknak.de>
Date:   Fri, 16 Apr 2021 15:11:24 +0200

Update to Create version 0.3.1c

Diffstat:
Mbuild.gradle | 2+-
Msrc/main/java/de/oshgnacknak/create_ponder_wonder/PonderRenderScheduler.java | 6+++---
Msrc/main/java/de/oshgnacknak/create_ponder_wonder/PonderRenderer.java | 6+-----
Dsrc/main/java/de/oshgnacknak/create_ponder_wonder/Unthrow.java | 158-------------------------------------------------------------------------------
Msrc/main/java/de/oshgnacknak/create_ponder_wonder/commands/StartRenderingCommand.java | 3+--
Msrc/main/java/de/oshgnacknak/create_ponder_wonder/commands/StopRenderingCommand.java | 2+-
6 files changed, 7 insertions(+), 170 deletions(-)

diff --git a/build.gradle b/build.gradle @@ -102,7 +102,7 @@ repositories { dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" - implementation fg.deobf("curse.maven:create-328085:3260165") + implementation fg.deobf("curse.maven:create-328085:3278516") compile fg.deobf("io.github.noeppi_noeppi.mods:LibX:1.16.3-1.0.15") annotationProcessor 'org.spongepowered:mixin:0.8:processor' } diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/PonderRenderScheduler.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/PonderRenderScheduler.java @@ -2,15 +2,15 @@ package de.oshgnacknak.create_ponder_wonder; import com.simibubi.create.foundation.ponder.PonderRegistry; import com.simibubi.create.foundation.ponder.PonderScene; -import com.simibubi.create.foundation.ponder.PonderWonderUI; -import net.minecraft.client.renderer.texture.NativeImage; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; -import java.util.concurrent.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; public class PonderRenderScheduler { diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/PonderRenderer.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/PonderRenderer.java @@ -1,6 +1,5 @@ package de.oshgnacknak.create_ponder_wonder; -import com.simibubi.create.content.contraptions.components.actors.SeatEntity; import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.PonderWonderUI; import io.netty.util.concurrent.GlobalEventExecutor; @@ -8,9 +7,7 @@ import io.netty.util.concurrent.Promise; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.NativeImage; -import java.util.ArrayList; import java.util.Iterator; -import java.util.List; import java.util.concurrent.ExecutionException; public class PonderRenderer implements Iterable<PonderRenderer.RenderResult>, Iterator<PonderRenderer.RenderResult> { @@ -43,7 +40,7 @@ public class PonderRenderer implements Iterable<PonderRenderer.RenderResult>, It @Override public boolean hasNext() { - return !ponder.isFinished(); + return !ponder.isFinished() && frame < MAX_FRAMES; } @Override @@ -74,5 +71,4 @@ public class PonderRenderer implements Iterable<PonderRenderer.RenderResult>, It throw new RuntimeException(e); } } - } diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/Unthrow.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/Unthrow.java @@ -1,158 +0,0 @@ -package de.oshgnacknak.create_ponder_wonder; - -import java.util.stream.Stream; - -// TODO: Remove -public class Unthrow { - @SuppressWarnings("unchecked") - static <R, E extends Exception> R rethrow(Exception ex) throws E { - throw (E) ex; - } - - public static <R, E extends Exception> Stream<R> of(Stream<R> stream) throws E { - return stream; - } - - public static <R, E1 extends Exception, E2 extends Exception> Stream<R> of2(Stream<R> stream) throws E1, E2 { - return stream; - } - - public static <R, E1 extends Exception, E2 extends Exception, E3 extends Exception> Stream<R> of3(Stream<R> stream) throws E1, E2, E3 { - return stream; - } - - public static <R, E1 extends Exception, E2 extends Exception, E3 extends Exception, E4 extends Exception> Stream<R> of4(Stream<R> stream) throws E1, E2, E3, E4 { - return stream; - } - - - ////////////////////////////////// interfaces ProcedureN ////////////////////////////////// - - /** - * like as {@link java.lang.Runnable} - */ - @FunctionalInterface - public interface IProc0 { - void accept() throws Exception; - } - - /** - * like as {@link java.util.function.Consumer} - */ - @FunctionalInterface - public interface IProc1<T> { - void accept(T t) throws Exception; - } - - /** - * like as {@link java.util.function.BiConsumer} - */ - @FunctionalInterface - public interface IProc2<T1, T2> { - void accept(T1 t1, T2 t2) throws Exception; - } - - @FunctionalInterface - public interface IProc3<T1, T2, T3> { - void accept(T1 t1, T2 t2, T3 t3) throws Exception; - } - - ////////////////////////////////// interfaces FunctionN ////////////////////////////////// - - /** - * like as {@link java.util.concurrent.Callable} - */ - @FunctionalInterface - public interface IFunc0<R> { - R apply() throws Exception; - } - - /** - * like as {@link java.util.function.Function} - */ - @FunctionalInterface - public interface IFunc1<R, T> { - R apply(T t) throws Exception; - } - - /** - * like as {@link java.util.function.BiFunction} - */ - @FunctionalInterface - public interface IFunc2<R, T1, T2> { - R apply(T1 t1, T2 t2) throws Exception; - } - - @FunctionalInterface - public interface IFunc3<R, T1, T2, T3> { - R apply(T1 t1, T2 t2, T3 t3) throws Exception; - } - - ////////////////////////////////// wrap Procedures ////////////////////////////////// - - public static void wrapProc(IProc0 proc) { - try { - proc.accept(); - } catch (Exception ex) { - rethrow(ex); - } - } - - public static <T> void wrapProc(IProc1<T> proc, T t) { - try { - proc.accept(t); - } catch (Exception ex) { - rethrow(ex); - } - } - - public static <T1, T2> void wrapProc(IProc2<T1, T2> proc, T1 t1, T2 t2) { - try { - proc.accept(t1, t2); - } catch (Exception ex) { - rethrow(ex); - } - } - - public static <T1, T2, T3> void wrapProc(IProc3<T1, T2, T3> proc, T1 t1, T2 t2, T3 t3) { - try { - proc.accept(t1, t2, t3); - } catch (Exception ex) { - rethrow(ex); - } - } - - ////////////////////////////////// wrap Functions ////////////////////////////////// - - public static <R> R wrap(IFunc0<R> func) { - try { - return func.apply(); - } catch (Exception ex) { - return rethrow(ex); - } - } - - public static <R, T> R wrap(IFunc1<R, T> func, T t) { - try { - return func.apply(t); - } catch (Exception ex) { - return rethrow(ex); - } - } - - public static <R, T1, T2> R wrap(IFunc2<R, T1, T2> func, T1 t1, T2 t2) { - try { - return func.apply(t1, t2); - } catch (Exception ex) { - return rethrow(ex); - } - } - - public static <R, T1, T2, T3> R wrap(IFunc3<R, T1, T2, T3> func, T1 t1, T2 t2, T3 t3) { - try { - return func.apply(t1, t2, t3); - } catch (Exception ex) { - return rethrow(ex); - } - } -} diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/StartRenderingCommand.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/StartRenderingCommand.java @@ -3,14 +3,13 @@ package de.oshgnacknak.create_ponder_wonder.commands; import com.mojang.brigadier.Command; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.context.CommandContext; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import de.oshgnacknak.create_ponder_wonder.CreatePonderWonder; import net.minecraft.command.CommandSource; public class StartRenderingCommand implements Command<CommandSource> { @Override - public int run(CommandContext<CommandSource> context) throws CommandSyntaxException { + public int run(CommandContext<CommandSource> context) { String path = StringArgumentType.getString(context, "path"); CreatePonderWonder.PONDER_RENDERER.start(path); return SINGLE_SUCCESS; diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/StopRenderingCommand.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/StopRenderingCommand.java @@ -8,7 +8,7 @@ import net.minecraft.command.CommandSource; public class StopRenderingCommand implements com.mojang.brigadier.Command<net.minecraft.command.CommandSource> { @Override - public int run(CommandContext<CommandSource> context) throws CommandSyntaxException { + public int run(CommandContext<CommandSource> context) { CreatePonderWonder.PONDER_RENDERER.stop(); return SINGLE_SUCCESS; }