Coding error at net.minecraft.world.entity.Entity.resetPos()
Code analysis:
Since the minecraft team is adding support for changing the world height there are more methods calling for the minimum (and maximum) world height. At net.minecraft.world.entity.Entity.resetPos(), a 'for' is asking if a number 'y' is lower and higher than the minimum world height, that number increases:
protected void resetPos() {
if (this.level == null) {
return;
}
for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMinBuildHeight(); y += 1.0) {
this.setPos(this.getX(), y, this.getZ());
if (this.level.noCollision(this)) {
break;
}
}
this.setDeltaMovement(Vec3.ZERO);
this.xRot = 0.0f;
}
>This causes client-side bugs at the player's Y when logging in or respawning.
The solution is easy, just change the 'less than' conditional to 'y < (double)this.level.getMaxBuildHeight()'
After fixing, it would look like this:
protected void resetPos() {
if (this.level == null) {
return;
}
for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMaxBuildHeight(); y += 1.0) {
this.setPos(this.getX(), y, this.getZ());
if (this.level.noCollision(this)) {
break;
}
}
this.setDeltaMovement(Vec3.ZERO);
this.xRot = 0.0f;
}
Created Issue:
Coding error at net.minecraft.world.entity.Entity.resetPos()
Code analysis:
Since the minecraft team is adding support for changing the world height there are more methods calling for the minimum (and maximum) world height. At net.minecraft.world.entity.Entity.resetPos(), a 'for' is calling if a number is lower and higher than the minimum world height, that number increases:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMinBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }>This causes client-side bugs at the player's Y when logging in or respawning.
The solution is easy, just change the 'less than' conditional to 'y < (double)this.level.getMaxBuildHeight()'
After fixing, it would look like this:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMaxBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }
Code analysis:
Since the minecraft team is adding support for changing the world height there are more methods calling for the minimum (and maximum) world height. At net.minecraft.world.entity.Entity.resetPos(), a 'for' is
calling if a number is lower and higher than the minimum world height, that number increases:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMinBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }>This causes client-side bugs at the player's Y when logging in or respawning.
The solution is easy, just change the 'less than' conditional to 'y < (double)this.level.getMaxBuildHeight()'
After fixing, it would look like this:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMaxBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }
Code analysis:
Since the minecraft team is adding support for changing the world height there are more methods calling for the minimum (and maximum) world height. At net.minecraft.world.entity.Entity.resetPos(), a 'for' is asking if a number 'y' is lower and higher than the minimum world height, that number increases:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMinBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }>This causes client-side bugs at the player's Y when logging in or respawning.
The solution is easy, just change the 'less than' conditional to 'y < (double)this.level.getMaxBuildHeight()'
After fixing, it would look like this:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMaxBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }
Code analysis:
Since the minecraft team is adding support for changing the world height there are more methods calling for the minimum (and maximum) world height. At net.minecraft.world.entity.Entity.resetPos(), a 'for' is asking if a number 'y' is lower and higher than the minimum world height, that number increases:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMinBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }>This causes client-side bugs at the player's Y when logging in or respawning.
The solution is easy, just change the 'less than' conditional to 'y < (double)this.level.getMaxBuildHeight()'
After fixing, it would look like this:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMaxBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }
Code analysis:
Since the minecraft team is adding support for changing the world height there are more methods calling for the minimum (and maximum) world height. At net.minecraft.world.entity.Entity.resetPos(), a 'for' is asking if a number 'y' is lower and higher than the minimum world height, that number increases:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMinBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }>This causes client-side bugs at the player's Y when logging in or respawning.
The solution is easy, just change the 'less than' conditional to 'y < (double)this.level.getMaxBuildHeight()'
After fixing, it would look like this:
protected void resetPos() { if (this.level == null) { return; } for (double y = this.getY(); y > (double)this.level.getMinBuildHeight() && y < (double)this.level.getMaxBuildHeight(); y += 1.0) { this.setPos(this.getX(), y, this.getZ()); if (this.level.noCollision(this)) { break; } } this.setDeltaMovement(Vec3.ZERO); this.xRot = 0.0f; }