Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block.

This commit is contained in:
Matthew Miller
2018-08-10 20:29:06 +10:00
committed by IronApollo
parent 4d6045813c
commit 628c9cc0b7
185 changed files with 307 additions and 268 deletions

View File

@ -163,16 +163,12 @@ public class ExtentEntityCopy implements EntityFunction {
boolean hasFacing = tag.containsKey("Facing");
if (hasTilePosition) {
<<<<<<< HEAD
//<<<<<<< HEAD
changed = true;
// Vector tilePosition = new Vector(tag.asInt("TileX"), tag.asInt("TileY"), tag.asInt("TileZ"));
// Vector newTilePosition = transform.apply(tilePosition.subtract(from)).add(to);
//=======
Vector3 tilePosition = new Vector3(tag.asInt("TileX"), tag.asInt("TileY"), tag.asInt("TileZ"));
=======
Vector3 tilePosition = Vector3.at(tag.asInt("TileX"), tag.asInt("TileY"), tag.asInt("TileZ"));
>>>>>>> 2c8b2fe0... Move vectors to static creators, for caching
BlockVector3 newTilePosition = transform.apply(tilePosition.subtract(from)).add(to).toBlockPoint();
//>>>>>>> 399e0ad5... Refactor vector system to be cleaner
@ -213,7 +209,7 @@ public class ExtentEntityCopy implements EntityFunction {
double pitch = Math.toRadians(rotation.getFloat(1));
double xz = Math.cos(pitch);
Vector3 direction = new Vector3(-xz * Math.sin(yaw), -Math.sin(pitch), xz * Math.cos(yaw));
Vector3 direction = Vector3.at(-xz * Math.sin(yaw), -Math.sin(pitch), xz * Math.cos(yaw));
direction = transform.apply(direction);
FloatTag yawTag = new FloatTag((float)direction.toYaw());
FloatTag pitchTag = new FloatTag((float)direction.toPitch());