1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-09-29 15:30:48 +00:00

Replace DirectionUtil methods with builtin equivalents

This commit is contained in:
SquidDev 2018-12-26 09:29:41 +00:00
parent 031f17c98e
commit a1c4a9fb58
5 changed files with 11 additions and 81 deletions

View File

@ -70,7 +70,7 @@ public class TileEntityMonitorRenderer extends TileEntitySpecialRenderer<TileMon
// Determine orientation // Determine orientation
EnumFacing dir = origin.getDirection(); EnumFacing dir = origin.getDirection();
EnumFacing front = origin.getFront(); EnumFacing front = origin.getFront();
float yaw = DirectionUtil.toYawAngle( dir ); float yaw = dir.getHorizontalAngle();
float pitch = DirectionUtil.toPitchAngle( front ); float pitch = DirectionUtil.toPitchAngle( front );
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();

View File

@ -610,7 +610,7 @@ public class TurtleBrain implements ITurtleAccess
@Override @Override
public float getVisualYaw( float f ) public float getVisualYaw( float f )
{ {
float yaw = DirectionUtil.toYawAngle( getDirection() ); float yaw = getDirection().getHorizontalAngle();
switch( m_animation ) switch( m_animation )
{ {
case TurnLeft: case TurnLeft:

View File

@ -194,12 +194,12 @@ public class TurtlePlaceCommand implements ITurtleCommand
if( direction.getAxis() != EnumFacing.Axis.Y ) if( direction.getAxis() != EnumFacing.Axis.Y )
{ {
turtlePlayer.rotationYaw = DirectionUtil.toYawAngle( direction ); turtlePlayer.rotationYaw = direction.getHorizontalAngle();
turtlePlayer.rotationPitch = 0.0f; turtlePlayer.rotationPitch = 0.0f;
} }
else else
{ {
turtlePlayer.rotationYaw = DirectionUtil.toYawAngle( turtle.getDirection() ); turtlePlayer.rotationYaw = turtle.getDirection().getHorizontalAngle();
turtlePlayer.rotationPitch = DirectionUtil.toPitchAngle( direction ); turtlePlayer.rotationPitch = DirectionUtil.toPitchAngle( direction );
} }

View File

@ -12,7 +12,6 @@ import dan200.computercraft.api.turtle.TurtleAnimation;
import dan200.computercraft.api.turtle.TurtleCommandResult; import dan200.computercraft.api.turtle.TurtleCommandResult;
import dan200.computercraft.api.turtle.event.TurtleAction; import dan200.computercraft.api.turtle.event.TurtleAction;
import dan200.computercraft.api.turtle.event.TurtleActionEvent; import dan200.computercraft.api.turtle.event.TurtleActionEvent;
import dan200.computercraft.shared.util.DirectionUtil;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
@ -40,13 +39,13 @@ public class TurtleTurnCommand implements ITurtleCommand
{ {
case Left: case Left:
{ {
turtle.setDirection( DirectionUtil.rotateLeft( turtle.getDirection() ) ); turtle.setDirection( turtle.getDirection().rotateYCCW() );
turtle.playAnimation( TurtleAnimation.TurnLeft ); turtle.playAnimation( TurtleAnimation.TurnLeft );
return TurtleCommandResult.success(); return TurtleCommandResult.success();
} }
case Right: case Right:
{ {
turtle.setDirection( DirectionUtil.rotateRight( turtle.getDirection() ) ); turtle.setDirection( turtle.getDirection().rotateY() );
turtle.playAnimation( TurtleAnimation.TurnRight ); turtle.playAnimation( TurtleAnimation.TurnRight );
return TurtleCommandResult.success(); return TurtleCommandResult.success();
} }

View File

@ -9,57 +9,17 @@ package dan200.computercraft.shared.util;
import dan200.computercraft.shared.common.IDirectionalTile; import dan200.computercraft.shared.common.IDirectionalTile;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.MathHelper;
public class DirectionUtil public class DirectionUtil
{ {
public static EnumFacing rotateRight( EnumFacing dir )
{
if( dir.getAxis() != EnumFacing.Axis.Y )
{
return dir.rotateY();
}
else
{
return dir;
}
}
public static EnumFacing rotateLeft( EnumFacing dir )
{
if( dir.getAxis() != EnumFacing.Axis.Y )
{
return dir.rotateYCCW();
}
else
{
return dir;
}
}
public static EnumFacing rotate180( EnumFacing dir )
{
if( dir.getAxis() != EnumFacing.Axis.Y )
{
return dir.getOpposite();
}
else
{
return dir;
}
}
public static int toLocal( IDirectionalTile directional, EnumFacing dir ) public static int toLocal( IDirectionalTile directional, EnumFacing dir )
{ {
EnumFacing front = directional.getDirection(); EnumFacing front = directional.getDirection();
if( front.getAxis() == EnumFacing.Axis.Y ) if( front.getAxis() == EnumFacing.Axis.Y ) front = EnumFacing.NORTH;
{
front = EnumFacing.NORTH;
}
EnumFacing back = rotate180( front ); EnumFacing back = front.getOpposite();
EnumFacing left = rotateLeft( front ); EnumFacing left = front.rotateYCCW();
EnumFacing right = rotateRight( front ); EnumFacing right = front.rotateY();
if( dir == front ) if( dir == front )
{ {
return 3; return 3;
@ -88,36 +48,7 @@ public class DirectionUtil
public static EnumFacing fromEntityRot( EntityLivingBase player ) public static EnumFacing fromEntityRot( EntityLivingBase player )
{ {
int rot = MathHelper.floor( (player.rotationYaw / 90.0f) + 0.5f ) & 0x3; return EnumFacing.fromAngle( player.rotationYaw ).getOpposite();
switch( rot )
{
case 0:
return EnumFacing.NORTH;
case 1:
return EnumFacing.EAST;
case 2:
return EnumFacing.SOUTH;
case 3:
return EnumFacing.WEST;
}
return EnumFacing.NORTH;
}
public static float toYawAngle( EnumFacing dir )
{
switch( dir )
{
case NORTH:
return 180.0f;
case SOUTH:
return 0.0f;
case WEST:
return 90.0f;
case EAST:
return 270.0f;
default:
return 0.0f;
}
} }
public static float toPitchAngle( EnumFacing dir ) public static float toPitchAngle( EnumFacing dir )