From 005faee61283980e979f1c8a79c7097ef1642ca7 Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 15 Oct 2025 03:39:12 +0200 Subject: [PATCH] cleanup and some preliminary tests --- .../carpet/script/CarpetScriptServer.java | 1 + .../carpet/script/utils/ShapesRenderer.java | 24 +++++++-------- .../resources/assets/carpet/scripts/sctest.sc | 30 +++++++++++++++++++ 3 files changed, 41 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/carpet/scripts/sctest.sc diff --git a/src/main/java/carpet/script/CarpetScriptServer.java b/src/main/java/carpet/script/CarpetScriptServer.java index 6b79c557..d3382518 100644 --- a/src/main/java/carpet/script/CarpetScriptServer.java +++ b/src/main/java/carpet/script/CarpetScriptServer.java @@ -104,6 +104,7 @@ public class CarpetScriptServer extends ScriptServer registerBuiltInApp(Module.carpetNative("ai_tracker", false)); registerBuiltInApp(Module.carpetNative("draw_beta", false)); registerBuiltInApp(Module.carpetNative("shapes", true)); + //registerBuiltInApp(Module.carpetNative("sctest", false)); registerBuiltInApp(Module.carpetNative("distance_beta", false)); } diff --git a/src/main/java/carpet/script/utils/ShapesRenderer.java b/src/main/java/carpet/script/utils/ShapesRenderer.java index a322b869..ad9a2b13 100644 --- a/src/main/java/carpet/script/utils/ShapesRenderer.java +++ b/src/main/java/carpet/script/utils/ShapesRenderer.java @@ -166,7 +166,7 @@ public class ShapesRenderer shapes.get(dimensionType).values().forEach(s -> { if ((!s.shape.debug || entityBoxes) && s.shouldRender(dimensionType)) { - s.renderLines(matrices, tesselator, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal); + s.renderLines(matrices, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal); } }); // faces @@ -188,7 +188,7 @@ public class ShapesRenderer labels.get(dimensionType).values().forEach(s -> { if ((!s.shape.debug || entityBoxes) && s.shouldRender(dimensionType)) { - s.renderLines(matrices, tesselator, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal); + s.renderLines(matrices, cameraX, cameraY, cameraZ, partialTick, cameraa, s.shape.seethrough ? onTop : normal); } }); } @@ -283,7 +283,7 @@ public class ShapesRenderer long expiryTick; double renderEpsilon; - public abstract void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives); + public abstract void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives); public void renderFaces(Tesselator tesselator, double cx, double cy, double cz, float partialTick, DrawableGizmoPrimitives primitives) { @@ -356,7 +356,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { if (shape.a == 0.0) @@ -400,10 +400,6 @@ public class ShapesRenderer matrices.mulPose(Axis.YP.rotationDegrees(180)); } - ////RenderSystem.depthMask(true); - ////RenderSystem.enableCull(); - ////RenderSystem.enableDepthTest(); - blockPos = BlockPos.containing(v1); int light = 0; if (client.level != null) @@ -513,7 +509,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { if (shape.a == 0.0) { @@ -602,7 +598,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { if (shape.a == 0.0) { @@ -646,7 +642,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { Vec3 v1 = shape.relativiseRender(client.level, shape.from, partialTick); Vec3 v2 = shape.relativiseRender(client.level, shape.to, partialTick); @@ -717,7 +713,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { if (shape.a == 0) @@ -853,7 +849,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { if (shape.a == 0.0) { @@ -889,7 +885,7 @@ public class ShapesRenderer } @Override - public void renderLines(PoseStack matrices, Tesselator tesselator, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) + public void renderLines(PoseStack matrices, double cx, double cy, double cz, float partialTick, LevelRenderState levelRenderState, DrawableGizmoPrimitives primitives) { if (shape.a == 0.0) { diff --git a/src/main/resources/assets/carpet/scripts/sctest.sc b/src/main/resources/assets/carpet/scripts/sctest.sc new file mode 100644 index 00000000..0647a068 --- /dev/null +++ b/src/main/resources/assets/carpet/scripts/sctest.sc @@ -0,0 +1,30 @@ +__config() -> { + 'commands' -> { + 'shapes ' -> 'test_shapes' + }, + 'arguments' -> { + 'duration' -> {'type' -> 'int', 'min' -> 0, 'max' -> 1000, 'suggest' -> [100]}, + } +}; + + +test_shapes(duration) -> ( + [x, y, z] = pos(player()); + set(x, y, z, 'glass'); + set(x+10, y+10, z+10, 'glass'); + schedule(duration, _(outer(x), outer(y), outer(z)) -> ( + set(x, y, z, 'air'); + set(x+10, y+10, z+10, 'air'); + )); + loop(10, + draw_shape('line', duration, 'from', [x, y, z], 'to', [x+_, y+10, z+10], 'color', 0xff0000ff); + draw_shape('line', duration, 'from', [x, y, z], 'to', [x+10, y+_, z+10], 'color', 0x00ff00ff); + draw_shape('line', duration, 'from', [x, y, z], 'to', [x+10, y+10, z+_], 'color', 0x0000ffff); + ); + loop(20, + sq = _ * _ / 10; + draw_shape('box', duration, 'from', [x+_, y + sq, z], 'to', [x+_ + 2, y+sq + 2, z+2], 'color', 0xff0000ff, 'fill', 0xff000080); + draw_shape('box', duration, 'from', [x, y + _, z + sq], 'to', [x+2, y+_ + 2, z+sq + 2], 'color', 0x00ff00ff, 'fill', 0x00ff0080); + draw_shape('box', duration, 'from', [x + sq, y, z + _], 'to', [x+sq + 2, y+2, z+_ + 2], 'color', 0x0000ffff, 'fill', 0x0000ff80); + ); +); \ No newline at end of file