From d49be89e23c5e4a99962f248b352bc87a11e5249 Mon Sep 17 00:00:00 2001 From: vlad2305m <43315575+vlad2305m@users.noreply.github.com> Date: Tue, 31 Jan 2023 21:39:37 +0100 Subject: [PATCH] Do not load clientside-only classes in serverside ShapeDispatcher code (#1642) fixed use of client side classes in shape dispatcher --- .../carpet/script/utils/ShapeDispatcher.java | 18 ++++++++---------- .../carpet/script/utils/ShapesRenderer.java | 8 ++++---- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/java/carpet/script/utils/ShapeDispatcher.java b/src/main/java/carpet/script/utils/ShapeDispatcher.java index 601631e5..787c24a6 100644 --- a/src/main/java/carpet/script/utils/ShapeDispatcher.java +++ b/src/main/java/carpet/script/utils/ShapeDispatcher.java @@ -22,8 +22,6 @@ import carpet.script.value.Value; import carpet.script.value.ValueConversions; import com.google.common.collect.Sets; -import com.mojang.blaze3d.vertex.VertexFormat; -import com.mojang.blaze3d.vertex.VertexFormat.Mode; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Registry; @@ -763,7 +761,7 @@ public class ShapeDispatcher public long calcKey(final RegistryAccess regs){ long hash = super.calcKey(regs); hash ^= 6; hash *= 1099511628211L; - hash ^= mode.hashCode(); hash *= 1099511628211L; + hash ^= mode; hash *= 1099511628211L; hash ^= relative.hashCode(); hash *= 1099511628211L; for (Vec3 i :vertex_list){ hash ^= vec3dhash(i); @@ -784,7 +782,7 @@ public class ShapeDispatcher } alter_point=new ArrayList<>(); switch (mode) { - case TRIANGLES: + case 4: for (int i=0;i optionalParams() { return Sets.union(super.optionalParams(), optional.keySet()); } ArrayList vertex_list=new ArrayList<>(); - Mode mode; + int mode; ArrayList relative=new ArrayList<>(); boolean inneredges; @Override @@ -907,11 +905,11 @@ public class ShapeDispatcher inneredges=false; } if("polygon".equals(_mode)){ - mode=VertexFormat.Mode.TRIANGLE_FAN; + mode=6; }else if("strip".equals(_mode)){ - mode=VertexFormat.Mode.TRIANGLE_STRIP; + mode=5; }else if("triangles".equals(_mode)){ - mode=VertexFormat.Mode.TRIANGLES; + mode=4; if(vertex_list.size()%3!=0){ throw new IllegalArgumentException("Unexpected vertex list size: " + vertex_list.size()); } diff --git a/src/main/java/carpet/script/utils/ShapesRenderer.java b/src/main/java/carpet/script/utils/ShapesRenderer.java index 574803ad..8eca33e2 100644 --- a/src/main/java/carpet/script/utils/ShapesRenderer.java +++ b/src/main/java/carpet/script/utils/ShapesRenderer.java @@ -563,7 +563,7 @@ public class ShapesRenderer else RenderSystem.enableCull(); - bufferBuilder.begin(shape.mode, DefaultVertexFormat.POSITION_COLOR); + bufferBuilder.begin(VertexFormat.Mode.values()[shape.mode], DefaultVertexFormat.POSITION_COLOR); for(int i=0;i