commit 51f269ca74c081b241d9dd4ed8aaf921c4bae70f
parent e9d8fceb80d65a5e11eead88a63729b031afc2e4
Author: Oshgnacknak <osh@oshgnacknak.de>
Date: Sat, 10 Apr 2021 16:49:25 +0200
Remove old command
Diffstat:
4 files changed, 8 insertions(+), 107 deletions(-)
diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/PonderIndexer.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/PonderIndexer.java
@@ -1,21 +0,0 @@
-package de.oshgnacknak.create_ponder_wonder;
-
-import com.simibubi.create.foundation.ponder.PonderRegistry;
-import com.simibubi.create.foundation.ponder.PonderScene;
-
-import java.util.List;
-import java.util.stream.Stream;
-
-public class PonderIndexer {
-
- private PonderIndexer() {}
-
- public static Stream<PonderScene> getPonders() {
- return PonderRegistry.all
- .values()
- .stream()
- .map(PonderRegistry::compile)
- .flatMap(List::stream);
- }
-
-}
diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/RenderUtils.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/RenderUtils.java
@@ -4,7 +4,6 @@ import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.FogRenderer;
-import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.texture.NativeImage;
import net.minecraft.client.shader.Framebuffer;
import net.minecraft.util.ScreenShotHelper;
@@ -61,4 +60,5 @@ public class RenderUtils {
return ScreenShotHelper.createScreenshot(WIDTH, HEIGHT, fb);
}
+
}
diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/AllCommands.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/AllCommands.java
@@ -11,8 +11,12 @@ public class AllCommands {
public static void register(RegisterCommandsEvent event) {
event.getDispatcher().register(
literal("pw")
- .then(argument("path",
- StringArgumentType.greedyString()).executes(new DumpPonsersCommand()))
- );
+ .then(literal("start")
+ .then(argument("path", StringArgumentType.greedyString())
+ .executes(new StartRenderingCommand()))));
+ event.getDispatcher().register(
+ literal("pw")
+ .then(literal("stop")
+ .executes(new StopRenderingCommand())));
}
}
\ No newline at end of file
diff --git a/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/DumpPonsersCommand.java b/src/main/java/de/oshgnacknak/create_ponder_wonder/commands/DumpPonsersCommand.java
@@ -1,82 +0,0 @@
-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 com.simibubi.create.foundation.ponder.PonderWonderUI;
-import de.oshgnacknak.create_ponder_wonder.CreatePonderWonder;
-import de.oshgnacknak.create_ponder_wonder.PonderIndexer;
-import de.oshgnacknak.create_ponder_wonder.RenderUtils;
-import io.netty.util.concurrent.GlobalEventExecutor;
-import io.netty.util.concurrent.Promise;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.texture.NativeImage;
-import net.minecraft.command.CommandSource;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.concurrent.ExecutionException;
-
-public class DumpPonsersCommand implements Command<CommandSource> {
-
- private static final int FPS = 60;
- private static final int MAX_FRAMES = 3;
- private static final long MAX_PONDERS = 1;
-
- @Override
- public int run(CommandContext<CommandSource> context) throws CommandSyntaxException {
- String path = StringArgumentType.getString(context, "path");
-
- PonderIndexer
- .getPonders()
- .limit(MAX_PONDERS)
- .map(PonderWonderUI::new)
- .forEach(ui -> renderPonderUI(path, ui));
-
- return 0;
- }
-
- private void renderPonderUI(String basePath, PonderWonderUI ponderWonderUI) {
- try {
- for (int frame = 0; frame < MAX_FRAMES; frame++) {
- Promise<NativeImage> promise = renderFrame(ponderWonderUI, frame);
- NativeImage img = promise.get();
-
- Path path = Paths.get(
- basePath,
- CreatePonderWonder.MODID,
- ponderWonderUI.getActiveScene().getString("out"),
- String.format("%06d.png", frame));
-
- Files.createDirectories(path.getParent());
- img.write(path);
-
- if (frame % 3 == 2) {
- ponderWonderUI.tick();
- }
- }
- } catch (IOException | InterruptedException | ExecutionException e) {
- CreatePonderWonder.LOGGER.error("Could not save image", e);
- }
- }
-
- private Promise<NativeImage> renderFrame(PonderWonderUI ponderWonderUI, int frame) {
- Promise<NativeImage> promise = GlobalEventExecutor.INSTANCE.newPromise();
-
- float pt = (frame % FPS) / (FPS / 3.0f);
- Minecraft.getInstance().field_213275_aU.add(() -> {
- try {
- NativeImage img = RenderUtils.render(ms ->
- ponderWonderUI.ponderWonderRenderWindow(ms, pt));
- promise.setSuccess(img);
- } catch (Exception e) {
- promise.setFailure(e);
- }
- });
-
- return promise;
- }
-}