Refactor vector system to be cleaner

- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
This commit is contained in:
Kenzie Togami
2018-10-14 03:40:53 -07:00
parent d7c528247b
commit 399e0ad5fa
230 changed files with 4216 additions and 3913 deletions

View File

@@ -21,12 +21,13 @@ package com.sk89q.worldedit.extension.platform;
import static com.google.common.base.Preconditions.checkNotNull;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.blocks.BaseItemStack;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.entity.Player;
import com.sk89q.worldedit.extent.inventory.BlockBag;
import com.sk89q.worldedit.internal.cui.CUIEvent;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.session.SessionKey;
import com.sk89q.worldedit.util.HandSide;
import com.sk89q.worldedit.util.Location;
@@ -92,7 +93,7 @@ class PlayerProxy extends AbstractPlayerActor {
}
@Override
public void setPosition(Vector pos, float pitch, float yaw) {
public void setPosition(Vector3 pos, float pitch, float yaw) {
basePlayer.setPosition(pos, pitch, yaw);
}
@@ -158,7 +159,7 @@ class PlayerProxy extends AbstractPlayerActor {
}
@Override
public void sendFakeBlock(Vector pos, BlockStateHolder block) {
public void sendFakeBlock(BlockVector3 pos, BlockStateHolder block) {
basePlayer.sendFakeBlock(pos, block);
}
}