1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-24 06:03:28 +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 @@ private void renderMonitorAt( TileMonitor monitor, double posX, double posY, dou
// Determine orientation
EnumFacing dir = origin.getDirection();
EnumFacing front = origin.getFront();
float yaw = DirectionUtil.toYawAngle( dir );
float yaw = dir.getHorizontalAngle();
float pitch = DirectionUtil.toPitchAngle( front );
GlStateManager.pushMatrix();

View File

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

View File

@ -194,12 +194,12 @@ private static void orientPlayer( ITurtleAccess turtle, TurtlePlayer turtlePlaye
if( direction.getAxis() != EnumFacing.Axis.Y )
{
turtlePlayer.rotationYaw = DirectionUtil.toYawAngle( direction );
turtlePlayer.rotationYaw = direction.getHorizontalAngle();
turtlePlayer.rotationPitch = 0.0f;
}
else
{
turtlePlayer.rotationYaw = DirectionUtil.toYawAngle( turtle.getDirection() );
turtlePlayer.rotationYaw = turtle.getDirection().getHorizontalAngle();
turtlePlayer.rotationPitch = DirectionUtil.toPitchAngle( direction );
}

View File

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

View File

@ -9,57 +9,17 @@
import dan200.computercraft.shared.common.IDirectionalTile;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.MathHelper;
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 )
{
EnumFacing front = directional.getDirection();
if( front.getAxis() == EnumFacing.Axis.Y )
{
front = EnumFacing.NORTH;
}
if( front.getAxis() == EnumFacing.Axis.Y ) front = EnumFacing.NORTH;
EnumFacing back = rotate180( front );
EnumFacing left = rotateLeft( front );
EnumFacing right = rotateRight( front );
EnumFacing back = front.getOpposite();
EnumFacing left = front.rotateYCCW();
EnumFacing right = front.rotateY();
if( dir == front )
{
return 3;
@ -88,36 +48,7 @@ else if( dir == EnumFacing.UP )
public static EnumFacing fromEntityRot( EntityLivingBase player )
{
int rot = MathHelper.floor( (player.rotationYaw / 90.0f) + 0.5f ) & 0x3;
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;
}
return EnumFacing.fromAngle( player.rotationYaw ).getOpposite();
}
public static float toPitchAngle( EnumFacing dir )