package com.austinv11.peripheralsplusplus.turtles.peripherals; import com.austinv11.peripheralsplusplus.PeripheralsPlusPlus; import com.austinv11.peripheralsplusplus.reference.Config; import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; import dan200.computercraft.api.turtle.ITurtleAccess; import net.minecraftforge.common.util.ForgeDirection; public class PeripheralCompass extends MountedPeripheral { ITurtleAccess turtle; public PeripheralCompass(ITurtleAccess turtle) { this.turtle = turtle; } @Override public String getType() { return "compass"; } @Override public String[] getMethodNames() { return new String[] {"getFacing"}; } @Override public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] arguments) throws LuaException, InterruptedException { if (method == 0) { if (!Config.enableNavigationTurtle) throw new LuaException("The compass upgrade has been disabled"); return new Object[]{ForgeDirection.getOrientation(turtle.getDirection()).name().toLowerCase()}; } return new Object[0]; } @Override public boolean equals(IPeripheral other) { return (other == this); } }