added todo for direction vector

master
Soper Aylamo 2021-05-26 22:14:36 -04:00
parent dc4871bd3b
commit 05e0a1c934
Signed by: Soper
GPG Key ID: A27AC885ACC3BEAE
1 changed files with 7 additions and 2 deletions

View File

@ -72,15 +72,20 @@ public class MortarInteract implements Listener {
if(Mortar.isMortar(linkedLocation.getBlock())){ if(Mortar.isMortar(linkedLocation.getBlock())){
Block linkedMortar = linkedLocation.getBlock(); Block linkedMortar = linkedLocation.getBlock();
Vector playerDirection = player.getLocation().getDirection(); Vector playerDirection = player.getLocation().getDirection();
if(event.getAction() == Action.RIGHT_CLICK_AIR){ /*TODO: convert to angles and get unit vector from angles
*right now, this does not properly get a direction vector
it is NOT a unit vector.*/
if(event.getAction() == Action.LEFT_CLICK_AIR){
Vector horizonVector = new Vector(playerDirection.getX(), 0, playerDirection.getZ()); Vector horizonVector = new Vector(playerDirection.getX(), 0, playerDirection.getZ());
Mortar.setMortarDirection(linkedMortar, horizonVector); Mortar.setMortarDirection(linkedMortar, horizonVector);
player.sendMessage(ChatColor.GOLD + "Mortar is now pointing towards " + horizonVector.getX() + ", " + horizonVector.getZ()); player.sendMessage(ChatColor.GOLD + "Mortar is now pointing towards " + horizonVector.getX() + ", " + horizonVector.getZ());
player.sendMessage("DEBUG: Angle is " + (180*horizonVector.angle(new Vector(1,0,0))/Math.PI));
} }
else if(event.getAction() == Action.LEFT_CLICK_AIR){ else if(event.getAction() == Action.RIGHT_CLICK_AIR){
Vector verticalVector = new Vector(0, playerDirection.getY(), 0); Vector verticalVector = new Vector(0, playerDirection.getY(), 0);
Mortar.setMortarDirection(linkedMortar, verticalVector); Mortar.setMortarDirection(linkedMortar, verticalVector);
player.sendMessage(ChatColor.GOLD + "Mortar is now pointing up with a vector " + verticalVector.getY()); player.sendMessage(ChatColor.GOLD + "Mortar is now pointing up with a vector " + verticalVector.getY());
player.sendMessage("DEBUG: Angle is " + (180*verticalVector.angle(new Vector(1,0,0))/Math.PI));
} }
} }
else player.sendMessage(ChatColor.GOLD + "Linked position has no mortar."); else player.sendMessage(ChatColor.GOLD + "Linked position has no mortar.");