@@ -19,15 +19,16 @@ package com.lambda.graphics.renderer.esp
1919
2020import com.lambda.graphics.pipeline.VertexBuilder
2121import com.lambda.graphics.renderer.esp.DirectionMask.hasDirection
22+ import com.lambda.graphics.renderer.esp.Treed.Companion.cameraPos
2223import com.lambda.threading.runSafe
2324import com.lambda.util.BlockUtils.blockState
2425import com.lambda.util.extension.max
2526import com.lambda.util.extension.min
2627import com.lambda.util.extension.outlineShape
28+ import com.lambda.util.math.minus
2729import net.minecraft.block.BlockState
2830import net.minecraft.block.entity.BlockEntity
2931import net.minecraft.entity.Entity
30- import net.minecraft.util.math.BlockBox
3132import net.minecraft.util.math.BlockPos
3233import net.minecraft.util.math.Box
3334import net.minecraft.util.shape.VoxelShape
@@ -47,11 +48,12 @@ class ShapeBuilder(
4748 sides : Int = DirectionMask .ALL ,
4849 ) = faces.apply {
4950 val boxes = box.pair ? : return @apply
51+ val camera = cameraPos
5052
51- val pos11 = boxes.first.min
52- val pos12 = boxes.first.max
53- val pos21 = boxes.second.min
54- val pos22 = boxes.second.max
53+ val pos11 = boxes.first.min - camera
54+ val pos12 = boxes.first.max - camera
55+ val pos21 = boxes.second.min - camera
56+ val pos22 = boxes.second.max - camera
5557
5658 val blb by lazy { vertex { vec3(pos11.x, pos11.y, pos11.z).vec3(pos21.x, pos21.y, pos21.z).color(color) } }
5759 val blf by lazy { vertex { vec3(pos11.x, pos11.y, pos12.z).vec3(pos21.x, pos21.y, pos22.z).color(color) } }
@@ -77,8 +79,9 @@ class ShapeBuilder(
7779 topColor : Color = bottomColor,
7880 sides : Int = DirectionMask .ALL
7981 ) = faces.apply {
80- val pos1 = box.min
81- val pos2 = box.max
82+ val camera = cameraPos
83+ val pos1 = box.min - camera
84+ val pos2 = box.max - camera
8285
8386 val blb by lazy { vertex { vec3(pos1.x, pos1.y, pos1.z).color(bottomColor) } }
8487 val blf by lazy { vertex { vec3(pos1.x, pos1.y, pos2.z).color(bottomColor) } }
@@ -153,11 +156,12 @@ class ShapeBuilder(
153156 mode : DirectionMask .OutlineMode = DirectionMask .OutlineMode .OR ,
154157 ) = edges.apply {
155158 val boxes = box.pair ? : return @apply
159+ val camera = cameraPos
156160
157- val pos11 = boxes.first.min
158- val pos12 = boxes.first.max
159- val pos21 = boxes.second.min
160- val pos22 = boxes.second.max
161+ val pos11 = boxes.first.min - camera
162+ val pos12 = boxes.first.max - camera
163+ val pos21 = boxes.second.min - camera
164+ val pos22 = boxes.second.max - camera
161165
162166 val blb by lazy { vertex { vec3(pos11.x, pos11.y, pos11.z).vec3(pos21.x, pos21.y, pos21.z).color(color) } }
163167 val blf by lazy { vertex { vec3(pos11.x, pos11.y, pos12.z).vec3(pos21.x, pos21.y, pos22.z).color(color) } }
@@ -199,8 +203,9 @@ class ShapeBuilder(
199203 sides : Int = DirectionMask .ALL ,
200204 mode : DirectionMask .OutlineMode = DirectionMask .OutlineMode .OR ,
201205 ) = edges.apply {
202- val pos1 = box.min
203- val pos2 = box.max
206+ val camera = cameraPos
207+ val pos1 = box.min - camera
208+ val pos2 = box.max - camera
204209
205210 val blb by lazy { vertex { vec3(pos1.x, pos1.y, pos1.z).color(bottomColor) } }
206211 val blf by lazy { vertex { vec3(pos1.x, pos1.y, pos2.z).color(bottomColor) } }
0 commit comments