package error

func NewRaceUnknownError(arg ...any) error {
	return newGenericError(ErrInputUnknownRace, arg...)
}

func NewUnknownRelationError(arg ...any) error {
	return newGenericError(ErrInputUnknownRelation, arg...)
}

func NewSameRaceError(arg ...any) error {
	return newGenericError(ErrInputSameRace, arg...)
}

func NewEntityTypeNameValidationError(arg ...any) error {
	return newGenericError(ErrInputEntityTypeNameInvalid, arg...)
}

func NewEntityDuplicateIdentifierError(arg ...any) error {
	return newGenericError(ErrInputNewEntityDuplicateIdentifier, arg...)
}

func NewEntityTypeNameEqualityError(arg ...any) error {
	return newGenericError(ErrInputEntityTypeNameEquality, arg...)
}

func NewEntityNotExistsError(arg ...any) error {
	return newGenericError(ErrInputEntityNotExists, arg...)
}

func NewEntityNotOwnedError(arg ...any) error {
	return newGenericError(ErrInputEntityNotOwned, arg...)
}

func NewEntityInUseError(arg ...any) error {
	return newGenericError(ErrEntityInUse, arg...)
}

func NewPlanetNumberError(arg ...any) error {
	return newGenericError(ErrInputPlanetNumber, arg...)
}

func NewDriveValueError(arg ...any) error {
	return newGenericError(ErrInputDriveValue, arg...)
}

func NewWeaponsValueError(arg ...any) error {
	return newGenericError(ErrInputWeaponsValue, arg...)
}

func NewShieldsValueError(arg ...any) error {
	return newGenericError(ErrInputShieldsValue, arg...)
}

func NewCargoValueError(arg ...any) error {
	return newGenericError(ErrInputCargoValue, arg...)
}

func NewShipTypeArmamentValueError(arg ...any) error {
	return newGenericError(ErrInputShipTypeArmamentValue, arg...)
}

func NewShipTypeArmamentAndWeaponsValueError(arg ...any) error {
	return newGenericError(ErrInputShipTypeWeaponsAndArmamentValue, arg...)
}

func NewShipTypeShipTypeZeroValuesError(arg ...any) error {
	return newGenericError(ErrInputShipTypeZeroValues, arg...)
}

func NewScienceSumValuesError(arg ...any) error {
	return newGenericError(ErrInputScienceSumValues, arg...)
}

func NewProductionInvalidError(arg ...any) error {
	return newGenericError(ErrInputProductionInvalid, arg...)
}

func NewCargoTypeInvalidError(arg ...any) error {
	return newGenericError(ErrInputCargoTypeInvalid, arg...)
}

func NewCargoLoadNotEnoughError(arg ...any) error {
	return newGenericError(ErrInputCargoLoadNotEnough, arg...)
}

func NewCargoLoadNotEqualError(arg ...any) error {
	return newGenericError(ErrInputCargoLoadNotEqual, arg...)
}

func NewNoCargoBayError(arg ...any) error {
	return newGenericError(ErrInputNoCargoBay, arg...)
}

func NewCargoLoadNoSpaceLeftError(arg ...any) error {
	return newGenericError(ErrInputCargoLoadNoSpaceLeft, arg...)
}

func NewCargoUnloadEmptyError(arg ...any) error {
	return newGenericError(ErrInputCargoUnloadEmpty, arg...)
}

func NewBreakGroupIllegalNumberError(arg ...any) error {
	return newGenericError(ErrInputBreakGroupIllegalNumber, arg...)
}

func NewMergeShipTypeNotEqualError(arg ...any) error {
	return newGenericError(ErrMergeShipTypeNotEqual, arg...)
}

func NewBeakGroupNumberNotEnoughError(arg ...any) error {
	return newGenericError(ErrBeakGroupNumberNotEnough, arg...)
}

func NewShipsBusyError(arg ...any) error {
	return newGenericError(ErrShipsBusy, arg...)
}

func NewShipsNotOnSamePlanetError(arg ...any) error {
	return newGenericError(ErrShipsNotOnSamePlanet, arg...)
}

func NewTechUnknownError(arg ...any) error {
	return newGenericError(ErrInputTechUnknown, arg...)
}

func NewTechInvalidMixingError(arg ...any) error {
	return newGenericError(ErrInputTechInvalidMixing, arg...)
}

func NewUpgradeShipTechNotUsedError(arg ...any) error {
	return newGenericError(ErrInputUpgradeShipTechNotUsed, arg...)
}

func NewUpgradeParameterNotAllowedError(arg ...any) error {
	return newGenericError(ErrInputUpgradeParameterNotAllowed, arg...)
}

func NewUpgradeShipsAlreadyUpToDateError(arg ...any) error {
	return newGenericError(ErrInputUpgradeShipsAlreadyUpToDate, arg...)
}

func NewUpgradeGroupNumberNotEnoughError(arg ...any) error {
	return newGenericError(ErrUpgradeGroupNumberNotEnough, arg...)
}

func NewUpgradeInsufficientResourcesError(arg ...any) error {
	return newGenericError(ErrUpgradeInsufficientResources, arg...)
}

func NewUpgradeTechLevelInsufficientError(arg ...any) error {
	return newGenericError(ErrInputUpgradeTechLevelInsufficient, arg...)
}

func NewSendShipHasNoDrivesError(arg ...any) error {
	return newGenericError(ErrSendShipHasNoDrives, arg...)
}

func NewSendUnreachableDestinationError(arg ...any) error {
	return newGenericError(ErrSendUnreachableDestination, arg...)
}

func NewSendShipOwnerHasNoPlanetsError(arg ...any) error {
	return newGenericError(ErrSendShipOwnerHasNoPlanets, arg...)
}

func NewQuitCommandFollowedByCommandError(arg ...any) error {
	return newGenericError(ErrInputQuitCommandFollowedByCommand, arg...)
}

func NewUnrecognizedCommandError(arg ...any) error {
	return newGenericError(ErrInputUnrecognizedCommand, arg...)
}
