Oofset
- Correction to a previous fix
This commit is contained in:
parent
bf06e59938
commit
04f4adcf46
1 changed files with 14 additions and 4 deletions
|
@ -300,17 +300,27 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vec3 toGlobalVector(Vec3 localVec, float partialTicks) {
|
public Vec3 toGlobalVector(Vec3 localVec, float partialTicks) {
|
||||||
|
return toGlobalVector(localVec, partialTicks, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vec3 toGlobalVector(Vec3 localVec, float partialTicks, boolean prevAnchor) {
|
||||||
|
Vec3 anchor = prevAnchor ? getPrevAnchorVec() : getAnchorVec();
|
||||||
Vec3 rotationOffset = VecHelper.getCenterOf(BlockPos.ZERO);
|
Vec3 rotationOffset = VecHelper.getCenterOf(BlockPos.ZERO);
|
||||||
localVec = localVec.subtract(rotationOffset);
|
localVec = localVec.subtract(rotationOffset);
|
||||||
localVec = applyRotation(localVec, partialTicks);
|
localVec = applyRotation(localVec, partialTicks);
|
||||||
localVec = localVec.add(rotationOffset)
|
localVec = localVec.add(rotationOffset)
|
||||||
.add(getPrevAnchorVec());
|
.add(anchor);
|
||||||
return localVec;
|
return localVec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Vec3 toLocalVector(Vec3 localVec, float partialTicks) {
|
||||||
|
return toLocalVector(localVec, partialTicks, false);
|
||||||
|
}
|
||||||
|
|
||||||
public Vec3 toLocalVector(Vec3 globalVec, float partialTicks) {
|
public Vec3 toLocalVector(Vec3 globalVec, float partialTicks, boolean prevAnchor) {
|
||||||
|
Vec3 anchor = prevAnchor ? getPrevAnchorVec() : getAnchorVec();
|
||||||
Vec3 rotationOffset = VecHelper.getCenterOf(BlockPos.ZERO);
|
Vec3 rotationOffset = VecHelper.getCenterOf(BlockPos.ZERO);
|
||||||
globalVec = globalVec.subtract(getPrevAnchorVec())
|
globalVec = globalVec.subtract(anchor)
|
||||||
.subtract(rotationOffset);
|
.subtract(rotationOffset);
|
||||||
globalVec = reverseRotation(globalVec, partialTicks);
|
globalVec = reverseRotation(globalVec, partialTicks);
|
||||||
globalVec = globalVec.add(rotationOffset);
|
globalVec = globalVec.add(rotationOffset);
|
||||||
|
@ -797,7 +807,7 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
|
||||||
if (prevPosInvalid)
|
if (prevPosInvalid)
|
||||||
return Vec3.ZERO;
|
return Vec3.ZERO;
|
||||||
|
|
||||||
Vec3 contactPoint = toGlobalVector(toLocalVector(globalContactPoint, 0), 1);
|
Vec3 contactPoint = toGlobalVector(toLocalVector(globalContactPoint, 0, true), 1, true);
|
||||||
Vec3 contraptionLocalMovement = contactPoint.subtract(globalContactPoint);
|
Vec3 contraptionLocalMovement = contactPoint.subtract(globalContactPoint);
|
||||||
Vec3 contraptionAnchorMovement = position().subtract(getPrevPositionVec());
|
Vec3 contraptionAnchorMovement = position().subtract(getPrevPositionVec());
|
||||||
return contraptionLocalMovement.add(contraptionAnchorMovement);
|
return contraptionLocalMovement.add(contraptionAnchorMovement);
|
||||||
|
|
Loading…
Reference in a new issue