mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-22 12:05:51 -04:00
Fix not being scaled properly
This commit is contained in:
parent
b84753ec6a
commit
376a07c395
@ -110,20 +110,19 @@ namespace MCGalaxy.Maths {
|
|||||||
|
|
||||||
float scale;
|
float scale;
|
||||||
if (!Utils.TryParseDecimal(scaleStr, out scale)) scale = 1.0f;
|
if (!Utils.TryParseDecimal(scaleStr, out scale)) scale = 1.0f;
|
||||||
if (scale < 0.25f) scale = 0.25f;
|
if (scale < 0.01f) scale = 0.01f;
|
||||||
float maxScale = model.CaselessEq("chibi") ? 3 : 2;
|
float max = model.CaselessEq("chibi") ? 3 : 2;
|
||||||
if (scale > maxScale) scale = maxScale;
|
scale = Math.Min(scale, max);
|
||||||
|
|
||||||
float scaleX = scale, scaleY = scale, scaleZ = scale;
|
float scaleX = scale, scaleY = scale, scaleZ = scale;
|
||||||
if (entity.ScaleX != 0) scaleX = entity.ScaleX;
|
if (entity.ScaleX != 0) scaleX = Math.Min(entity.ScaleX, max);
|
||||||
if (entity.ScaleY != 0) scaleY = entity.ScaleY;
|
if (entity.ScaleY != 0) scaleY = Math.Min(entity.ScaleY, max);
|
||||||
if (entity.ScaleZ != 0) scaleZ = entity.ScaleZ;
|
if (entity.ScaleZ != 0) scaleZ = Math.Min(entity.ScaleZ, max);
|
||||||
|
|
||||||
bb.Min.X = (int)(bb.Min.X * scaleX); bb.Max.X = (int)(bb.Max.X * scaleX);
|
bb.Min.X = (int)(bb.Min.X * scaleX); bb.Max.X = (int)(bb.Max.X * scaleX);
|
||||||
bb.Min.Y = (int)(bb.Min.Y * scaleY); bb.Max.Y = (int)(bb.Max.Y * scaleY);
|
bb.Min.Y = (int)(bb.Min.Y * scaleY); bb.Max.Y = (int)(bb.Max.Y * scaleY);
|
||||||
bb.Min.Z = (int)(bb.Min.Z * scaleZ); bb.Max.Z = (int)(bb.Max.Z * scaleZ);
|
bb.Min.Z = (int)(bb.Min.Z * scaleZ); bb.Max.Z = (int)(bb.Max.Z * scaleZ);
|
||||||
|
|
||||||
Server.s.Log("AABB: " + bb);
|
|
||||||
return bb;
|
return bb;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,7 +141,7 @@ namespace MCGalaxy.Maths {
|
|||||||
|
|
||||||
public static bool IntersectsSolidBlocks(AABB bb, Level lvl) {
|
public static bool IntersectsSolidBlocks(AABB bb, Level lvl) {
|
||||||
Vec3S32 min = bb.BlockMin, max = bb.BlockMax;
|
Vec3S32 min = bb.BlockMin, max = bb.BlockMax;
|
||||||
|
|
||||||
for (int y = min.Y; y <= max.Y; y++)
|
for (int y = min.Y; y <= max.Y; y++)
|
||||||
for (int z = min.Z; z <= max.Z; z++)
|
for (int z = min.Z; z <= max.Z; z++)
|
||||||
for (int x = min.X; x <= max.X; x++)
|
for (int x = min.X; x <= max.X; x++)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user