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

@ -20,11 +20,12 @@
package com.sk89q.worldedit.sponge.adapter;
import com.flowpowered.math.vector.Vector3d;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.blocks.BaseItemStack;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.math.Vector3;
import com.sk89q.worldedit.sponge.SpongeWorld;
import com.sk89q.worldedit.util.Location;
import org.spongepowered.api.entity.Entity;
import org.spongepowered.api.item.inventory.ItemStack;
import org.spongepowered.api.world.World;
@ -56,7 +57,7 @@ public interface SpongeImplAdapter {
}
default Location adapt(org.spongepowered.api.world.Location<org.spongepowered.api.world.World> loc, Vector3d rot) {
Vector position = new Vector(loc.getX(), loc.getY(), loc.getZ());
Vector3 position = new Vector3(loc.getX(), loc.getY(), loc.getZ());
return new Location(getWorld(loc.getExtent()), position, (float) rot.getY(), (float) rot.getX());
}