mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Use separate collision and visual boxes on doors
Also improve the user experience with smaller doors, by making the visual hitbox cover the entire door even when open. (In repsonse to Mellow's critique)
This commit is contained in:
parent
16fcac0a3c
commit
3c2d49419f
@ -166,7 +166,7 @@ public abstract class DoorDecl {
|
||||
} else if(y > 1) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.75, 0, 1, 1, 1);
|
||||
} else if(y == 0) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.1, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, forCollision ? 0 : 0.1, 1);
|
||||
} else {
|
||||
return super.getBlockBound(x, y, z, open, forCollision);
|
||||
}
|
||||
@ -245,7 +245,7 @@ public abstract class DoorDecl {
|
||||
if(y == 3) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.5, 0, 1, 1, 1);
|
||||
} else if(y == 0) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.08, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, forCollision ? 0 : 0.08, 1);
|
||||
}
|
||||
}
|
||||
return super.getBlockBound(x, y, z, open, forCollision);
|
||||
@ -328,9 +328,8 @@ public abstract class DoorDecl {
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open, boolean forCollision) {
|
||||
if(open) {
|
||||
if(y == 0) return AxisAlignedBB.getBoundingBox(0, 0, 1 - 0.25, 1, 0, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.9375, 1 - 0.25, 1, 1, 1);
|
||||
if(forCollision && open) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 0, 0, 0);
|
||||
} else {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 1 - 0.25, 1, 1, 1);
|
||||
}
|
||||
@ -437,7 +436,7 @@ public abstract class DoorDecl {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 1, 1);
|
||||
}
|
||||
if(y == 1) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.0625, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, forCollision ? 0 : 0.0625, 1);
|
||||
} else if(y == 4) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.5, 0.15, 1, 1, 0.85);
|
||||
} else {
|
||||
@ -514,7 +513,7 @@ public abstract class DoorDecl {
|
||||
} else if(y == 3) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.5, 0, 1, 1, 1);
|
||||
} else if(y == 0) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.0625, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, forCollision ? 0 : 0.0625, 1);
|
||||
}
|
||||
return super.getBlockBound(x, y, z, open, forCollision);
|
||||
};
|
||||
@ -596,7 +595,7 @@ public abstract class DoorDecl {
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open, boolean forCollision) {
|
||||
if(open) {
|
||||
if(forCollision && open) {
|
||||
if(z == 0) {
|
||||
return AxisAlignedBB.getBoundingBox(1 - 0.125, 0, 1 - 0.1875, 1, 1, 1);
|
||||
} else {
|
||||
@ -697,7 +696,7 @@ public abstract class DoorDecl {
|
||||
if(y > 1)
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.5, 0.5, 1, 1, 1);
|
||||
else if(y == 0)
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0.5, 1, 0.1, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0.5, 1, forCollision ? 0 : 0.1, 1);
|
||||
return super.getBlockBound(x, y, z, open, forCollision);
|
||||
};
|
||||
|
||||
@ -820,7 +819,7 @@ public abstract class DoorDecl {
|
||||
} else if(y > 1) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0.85, 0.75, 1, 1, 1);
|
||||
} else if(y == 0) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0.75, 1, 0.15, 1);
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0.75, 1, forCollision ? 0 : 0.15, 1);
|
||||
}
|
||||
return super.getBlockBound(x, y, z, open, forCollision);
|
||||
};
|
||||
@ -1025,6 +1024,8 @@ public abstract class DoorDecl {
|
||||
return AxisAlignedBB.getBoundingBox(0.4, 0, 0, 1, 1, 1);
|
||||
} else if(z == -3) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 0.6, 1, 1);
|
||||
} else if(y == 0) {
|
||||
return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, forCollision ? 0 : 0.0625, 1);
|
||||
}
|
||||
return super.getBlockBound(x, y, z, open, forCollision);
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user